限定しりとり

下記のaspを動かすとエラーがでます。どこを修正すればよいのでしょうか?教えてください。
エラー タイプ
Microsoft VBScript コンパイル エラー (0x800A0400)
ステートメントがありません。
/NBC/bunrui/box_order.asp, line 76
End If


ブラウザ タイプ
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

ページ
POST 536 bytes to /NBC/bunrui/box_order.asp

POST Data:
irai_nen=2007&irai_tuki=9&irai_hi=25&okyaku=1&tanto=%82P&box_1=11&biko_1=bunn&box_11=%81@&biko_11=%81@&box_2=%81@&biko_2=%81@&box_12=%81@&biko_12=%81@&box_3=%81@&biko_3=%81@&box_13=%81@&biko_13=%81@&b . . .



<%@ language = VBScript %>
<%
DC = Chr(&H22)
' 実行環境に合わせて、以下の7行目から25行目について適切な名称に変更してください。
' テーブル内のフィールド名は11行目から25行目までですので、これも適切な名称に変更
' してください。
DATABASE_NAME = "ABC" ' データベース名
DB_USERNAME = "AB" ' ユーザー名
DB_PASSWORD = "ABCD" ' パスワード
TABLE_NAME = "T31_管理_W" ' テーブル名
FLD_RECNO = "recNo" ' レコードNo.
FLD_IRAI = "inputdata" ' 依頼日
FLD_OKYAKU = "ucode" ' お客様名
FLD_TANTO = "tanto" ' 担当者名
FLD_BOX = "boxno" ' BOX No.1
FLD_BIKO1 = "bunrui" ' 書類内容1
FLD_BIKO2 = "bunrui" ' 書類内容2
FLD_BIKO3 = "bunrui" ' 書類内容3
FLD_YOBI1 = "yobi1" ' 予備1
FLD_YOBI2 = "yobi2" ' 予備2
FLD_YOBI3 = "yobi3" ' 予備3
'On Error Resume Next
' フォームの値を取得
iDt = Array(0, 0, 0)
iDt(0) = Trim(Request.Form("irai_nen"))
iDt(1) = Trim(Request.Form("irai_tuki"))
iDt(2) = Trim(Request.Form("irai_hi"))
irai = DateSerial(iDt(0), iDt(1), iDt(2))
okyaku = Trim(Request.Form("okyaku"))
tanto = Trim(Request.Form("tanto"))
ReDim box(20)
ReDim biko(20)
For i = 1 To 20
box(i) = Trim(Request.Form("box_" & CStr(i)))
biko(i) = Trim(Request.Form("biko_" & CStr(i)))
Next
RecDate = Now
' テーブルを開く
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=SQLOLEDB;" & _
"Data Source=(local);" & _
"Initial Catalog=" & DATABASE_NAME, DB_USERNAME, DB_PASSWORD
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.BeginTrans
On Error Resume Next
Rs.Open "SELECT * FROM " & TABLE_NAME & " WHERE ([RecNo] Like '" & _
Right(Year(RecDate),2) & Right("0" & Month(RecDate),2) & _
Right("0" & Day(RecDate),2) & Right("0" & Hour(RecDate),2) & _
Right("0" & Minute(RecDate),2) & "%');", Conn, 1, 3, 1
iRec = 0
Do Until Rs.EOF
If iRec < CInt(Right(Rs(FLD_RECNO), 2)) Then
iRec = CInt(Right(Rs(FLD_RECNO), 2))
End If
Rs.MoveNext
Loop
i = 1
Do Until i > 20
If IsNumeric(box(i)) = False Then Exit Do
If CLng(box(i)) = 0 Then Exit Do
iRec = iRec + 1
Rs.AddNew
Rs(FLD_RECNO) = Right(Year(RecDate),2) & Right("0" & Month(RecDate),2) & _
Right("0" & Day(RecDate),2) & Right("0" & Hour(RecDate),2) & _
Right("0" & Minute(RecDate),2) & Right("0" & iRec, 2)
Rs(FLD_IRAI) = irai
Rs(FLD_TANTO) = tanto
Rs(FLD_BOX) = CLng(box(i))
If biko(i) = "" Then
Rs(FLD_BIKO1) = " "
Else
Rs(FLD_BIKO1) = biko(i)
End If
Rs(FLD_BIKO2) = " "
Rs(FLD_BIKO3) = " "
End If

A 回答 (1件)

こんにちは。


一番最後の「End If」 は 「Loop」 ではないでしょうか。
End If → Loop
    • good
    • 0
この回答へのお礼

貴重なご意見ありがとうございました。

お礼日時:2008/12/12 10:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!