• 締切済み

aspエラーについて

下記の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

noname#72697
noname#72697

みんなの回答

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんにちは。 一番最後の「End If」 は 「Loop」 ではないでしょうか。 End If → Loop

noname#72697
質問者

お礼

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

関連するQ&A

  • phpエラーについて

    aspで下記のエラーがでました。 初心者で意味がわかりません。 エラー個所が下記のエラー内容でわかりますでしょうか。 ソースをのせると良いのですが長いので よろしくお願いいたします。 Microsoft VBScript コンパイル エラー (0x800A0400) ステートメントがありません。 /NBC/bunrui/box_order.asp, line 109 End If ページ POST 535 bytes to /NBC/bunrui/box_order.asp POST Data: irai_nen=2007&irai_tuki=9&irai_hi=25&okyaku=1&tanto=%82P&box_1=1&biko_1=%82P&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@&bo . . .

    • ベストアンサー
    • PHP
  • エクセルファイルのadoでの編集

    下記のようにエクセルのレコード編集をこころみていますが 下記のように氏名に重複があると、重複レコードが一緒に編集されてしまいます。アドバイスをいただけないでしょうか。「加藤」さんのほうは問題なく編集できます。 id,氏名,住所 15,山田太郎,東京都 18,山田太郎,栃木県 20,加藤太郎,岩手県 sCoString = "DBQ=" & Server.MapPath("" & Session("DB") & "") & "; ReadOnly=False;" sCoString = sCoString & "DefaultDir=" & Server.MapPath("./") & ";" sCoString = sCoString & "Driver={Microsoft Excel Driver (*.xls)};" Set cn = Server.CreateObject("ADODB.Connection") cn.Open sCoString sSQL = Session("SR") & " where id = " & Request("key") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sSQL, cn, 3, 3, 1 For i = 0 to rs.fields.count - 1 'Each Fld in Rs.fields If rs.fields(i).name <> "id" Then Response.write getcgivalue(rs.fields(i).name) & "<BR>" rs(rs.fields(i).name) = getcgivalue(rs.fields(i).name) End if next rs.UpDate function getcgivalue(str) getcgivalue= Request.Form(str) 'POST if getcgivalue="" then getcgivalue= Request.QueryString(str) 'GET end function

  • 次データ取得エラーについて

    sea_clear_sky8です。 [環境] OS 98SE PWS [質問内容] SQL CMD.CommandText = "SELECT * from test_t" このSQLだと下記のソースの部分が通り、データを表示 させることができます。 でも、 SQL CMD.CommandText = "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" だと次データ取得エラーと表示され、エラー番号3251が表示され 二つ目のデータから取得できません。 忙しいところすいませんが、ご教授願います。 エラー番号等で、インターネットで調べましたが、原因がわからない 状態です。よろしくお願いします。 [ソース] Do UntiL RS.EOF=true For i = 0 to RS.Fields.Count-1 Response.write RS(i).name k = RS(i).name + CSTR(RS.bookmark) Response.write "<input name="&k&" value="&RS(i)&">" next Response.write "<BR>" RS.MoveNext Loop

  • チェックボックスの使い方

    VBスクリプトでよくわからないところがあるので教えてください。たくさんのチェックボックスがあるので、For i To ~Next の構文を使って効率よくチェックされたものだけSQLの構文に取り入れて検索しようとしたのですがうまくゆきません。どのようにしたらよいでしょうか。 今試してみたのは、検索条件の設定画面で、 <input type=checkbox name=tatemono(0) value=自社使用>自社使用 <input type=checkbox name=tatemono(1) value=事業用>事業用 <input type=checkbox name=tatemono(2) value=電算センター >電算センター というようなチェックボックスを 検索処理用ページで SQL="SELECT * FROM [データ] " 'チェックボックスのチェック数が0でなければWHERE文をいれるflagをTrueにしておく If Request.Form("tatemono").Count>0 Then SQL=SQL & "WHERE " flag=True End If 'チェックボックスを最初から調べてチェックされていたらその項目がyesになっているという条件をSQL文に追加する For i=1 To Request.Form("tetemono").Count If Request.Form("tatemono")(i)<>"" Then fldname=Request.Form("tetemono")(i) If flag=True Then SQL = SQL & "AND" Else SQL = SQL & "WHERE" End If SQL= SQL & fldname & "=Yes" End If Next とやってみたのですが、ぜんぜん駄目みたいです。 根本的にどこか間違ってますよね・・・。 直すところを教えてください。 お願いします。

  • ASPでHTMLの内容を取得するには??

    HTMLのテキスト1のテキストボックスはOnClickイベントで文字列を取得し表示させてます。 テキスト2のテキストボックスに文字列を入れてその文字列をtest.aspで取得させてます。 test.aspでもテキスト1の内容を取得する方法はありますでしょうか?? formの入れ子はできないし、1つのform内でテキスト1、テキスト2を入れると OnClickイベントがきかなくなります。 わかる方おりましたらご教示ください>< 宜しくお願い致します。 ------ aa.html ---------------- <html> <head> <title>ASP TEST </title> </head> <body> <form name="fm1"> <td> <p>テキスト1:<input type="text" name="pathTXT" size="40"> <input type="button" name="fileBT" value="選択"> </p> </td> </form> <form action="test.asp" method="post"> <td> <p>テキスト2:<input type="text" name="keyTXT" size="40"> <input type="submit" value="実行"> </p> </td> </form> </body> </html> <SCRIPT LANGUAGE="vbscript"> Sub fileBT_OnClick() Document.fm1.pathTXT.value = "aaaaaaaa" End sub </SCRIPT> ------ test.asp ---------------- <%@LANGUAGE="VBSCRIPT"> <% Response.Write(Request.Form(keyTXT)) '''↓↓↓↓↓↓↓↓↓ aa.htmlのpathTXTを取得したい。。。 Response.Write(Request.Form(pathTXT)) >%

    • ベストアンサー
    • HTML
  • ASPでpostしたデータを受信出来ない

    はじめまして、ASP初心者です。 質問させてください。 以下のような form タグがある sample.asp <form method="post" action="posttest.asp"> <input type="text" name="indata1" /> <input type="password" name="indata2" /> <input type="submit" value="送信"> <input type="reset" value="キャンセル"> </form> 以下の内容の posttest,asp <%@ language="VBSCRIPT" %> <html> <head> <title>request</title> </head> <body> データ1: <% Response.Write(Request.Form("indate1")) %>: <br> データ2: <% Response.Write(Request.Form("indate2")) %>: </body> </html> 以上を IIS V5.1 をインストールしたPCの c:\Inetpub\wwwroot\test\ 配下に置いています。 で http://localhost/test/sample.asp をブラウザで開いて inputフォームの2箇所を入力して 送信でpostするのですが posttest.asp の表示はされるのですが、Request の中身が入って こない状態です。 全く成功せず困っております。 ・Visual Studio Web Developer をインストール後 IIS をインストールしました。 その後エラーの為(IISメタベースにアクセスできませんでした) 調査し、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i で解決しました。 これが原因でしょうか?

  • aspの表示

    こんにちは。 aspでこのように作成し、予定では、for文が回るたびに□■がどんどん変わっていくはずだったのですが、 これを実行するとメイン関数が終了したあとにHTMLが表示されてしまいます。 何か方法はないのでしょうか? よろしくお願いします。 <% Option Explicit%> <SCRIPT Language="JavaScript"> var cnt=0 var msg="□□□□□□□□□□"; function aaa() { msg=msg.replace(/□/,"■") document.textForm.box.value=msg; cnt +=1 if (cnt >9 ){ msg="□□□□□□□□□□"; cnt =0 } } </SCRIPT> <HTML> <HEAD> <title>タイトル</title> </HEAD> <BODY> <FORM> <TABLE> <TR > <TD> </TD> </TR> </TABLE> </FORM> </BODY> </HTML> <% Call Main '--------------------------------------------------- ’メイン関数 '--------------------------------------------------- Sub Main() For i=0 to 3 Response.write("<" + "SCRIPT Language=JavaScript" + ">" + " aaa(); <" + "/" + "SCRIPT>") Next End Sub %>

  • ASP,Javascriptチェックボックス値格納

    仕事で、急に予約システムの変更を求められていて困っています。 今までラジオボタンで1つしか選択出来なかったものを、チェックボックスで複数選択可能にしたいのですが、複数値を取得後のDBへの格納が上手く出来ません。明日行って、使えるようにしないといけないのですが、知識がないもので、色々なヒントも自分の場合への応用ということが出来ず焦りだけがつのっています・・・皆様にヘルプ頂けるとありがたいです。。 【実行したいこと】DBから一覧を読み込んで表示。同時にチェックボックスを作成。 10件のチェックボックスの値<s_id>(と申込者名等)を、DBのyoyakuテーブルに格納。 (yoyakuテーブルに用意しているs_id1~s_id10に格納。チェックなしの場合も空欄、もしくは0等チェックなしであることがわかる値を格納) ※文字数の関係上、関係があると思われる部分のみ抜粋。 ☆入力画面 <% '『data.mdb』のクエリ(Q_total)により申込が終了している場合にラジオボタンを見えなくするスクリプト   Dim Conn, rs, SQL   Dim db, DBName   db = Server.MapPath("data.mdb")   DBName = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db   Set Conn = Server.CreateObject("ADODB.Connection")   Conn.Open DBName SQL = "SELECT * FROM Q_total_ninkitsuki" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,3,3 Do While Not rs.EOF %> <%If rs.Fields("flg") = 1 Or rs.Fields("simekiribi") =< rs.Fields("loadtime")Then %> <tr> <td> <span class="red">終了</span> <input type="checkbox" name="T6" id="T6" value="<%=rs.Fields("s_id")%" disabled /></td> <td colspan="1"><%=rs.Fields("s_id")%></td> <td colspan="2"><%=rs.Fields("date")%></td> <td colspan="2"><%=rs.Fields("s_id_count")%></td> </tr> <%Else %> <tr> <td> <input type="checkbox" name="T6" id="T6" value="<%=rs.Fields("s_id")%>" />             </td> <td colspan="1"><%=rs.Fields("s_id")%></td> <td colspan="2"><%=rs.Fields("date")%></td> <td colspan="2"><%=rs.Fields("s_id_count")%></td> </tr> <%End If rs.MoveNext Loop rs.Close Set rs = Nothing Conn.Close Set Conn = Nothing %> ☆データが送られる側のページ <% moshikomi = Request.Form("apply") busitu = Request.Form("busitu") f_syokuban = Request.Form("syokuban") f_name = Request.Form("f_name") ipcheck = Request.ServerVariables("REMOTE_ADDR") torokuday = Request.Form("S12") mail = Request.Form("mail") yakushoku = Request.Form("yakushoku") radio = Request.Form("T6") f_date = split(radio,",") s_id = f_date(0) s_id1 = f_date(1) s_id2 = f_date(2) s_id3 = f_date(3) s_id4 = f_date(4) s_id5 = f_date(5) s_id6 = f_date(6) s_id7 = f_date(7) s_id8 = f_date(8) s_id9 = f_date(9) s_id10 = f_date(10) %> dim SLIST,RSB,SLIST1,RSB1,KDB db1=server.mappath("data.mdb") DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db1 Set KDB = Server.CreateObject("ADODB.Connection") KDB.open DBName SLIST = "SELECT * FROM yoyaku" Set RSB = Server.CreateObject("ADODB.Recordset") RSB.Open SLIST, KDB,3,3 rsb.AddNew rsb("moshikomi") = moshikomi rsb("busitu") = busitu rsb("syokuban") = f_syokuban rsb("name") = f_name rsb("mail") = mail rsb("torokuday") = now() rsb("ipaddress") = Request.ServerVariables("REMOTE_ADDR") rsb("s_id") = s_id rsb("s_id1") = s_id1 rsb("s_id2") = s_id2 rsb("s_id3") = s_id3 rsb("s_id4") = s_id4 rsb("s_id5") = s_id5 rsb("s_id6") = s_id6 rsb("s_id7") = s_id7 rsb("s_id8") = s_id8 rsb("s_id9") = s_id9 rsb("s_id10") = s_id10 rsb("yakushoku") = yakushoku rsb.UpDate RSB.close Set RSB = Nothing KDB.close Set KDB = Nothing %> ☆データを入れるアクセスの設定 ID      オートナンバー型 moshikomi テキスト型 s_id テキスト型 s_id1     テキスト型 s_id2     テキスト型 s_id3     テキスト型 s_id4     テキスト型 s_id5     テキスト型 s_id6     テキスト型 s_id7     テキスト型 s_id8     テキスト型 s_id9     テキスト型 s_id10     テキスト型 syokuban  テキスト型 busitu    テキスト型 yakushoku  テキスト型 name    テキスト型 mail     テキスト型 torokuday  テキスト型 renraku   テキスト型

  • さっきのバイナリ→テクスト

    FP1 = FreeFile Open Text1.Text For Binary As #FP1 FP2 = FreeFile Open Text3.Text For Output As #FP2 Do While (Not (EOF(FP1))) For i = 1 To 128 Get #FP1, , Bwk(i) Next i flg = 0 If j(1) <> "" Then Swk = Right("00" & Trim(Hex(Bwk(1))), 2) & Right("00" & Trim(Hex(Bwk(2))), 2) For i = 1 To 5 If j(i) <> "" Then If j(i) = Swk Then flg = 1 Exit For End If End If Next i Else flg = 1 End If If flg = 1 Then Swk = "" For i = 1 To 128 Swk = Swk & Right("00" & Trim(Hex(Bwk(i))), 2) Next i Print #FP2, Swk End If Loop Close MsgBox "完了" End Sub 上のプログラムでどこで変換してるのかがわからないんです。誰か教えてください。

  • asp(vbscript)でテキストの値を送信する

    <% dim TEST TEST = Request.Form("TEST")'別ページから値を取得 If TEST = FALSE Response.Redirect "http://localhost/~" '値を送信してきた所へ飛ぶ End If %> Response.Redirectにて 値を送信してきたフォームへ飛んだ時に 飛ばしてきたフォームのテキストボックスへ 同じ値を保持したいのですが… ★要は遷移前の入力情報をそのまま表示させたいのです。★ どのように値を返して、また取得して良いのか 方法が分かりません。