• ベストアンサー

MS Accessでデータ呼び出しについて

いつもお世話になっています。 めちゃくちゃ初心者です。 早速ですが質問させてください。 Access2000を使用してデータベースを作成しWEB上でデータ管理できるようにしたいとプログラミングしています。 ABCテーブルの中に  A    B    C 111  222  333 444  555  666 777  888  999 と、いったように複数のデータがあります。 このデータを <SELECT><OPTION>○○○</OPTION></SELECT>の構文(?)を使用して △△△ 111/222/333      444/555/666      777/888/999 といったようなプルダウン表示にしたいと思っています。 縦方向(1・4・7)には任意に情報が追加されていきます。 SQL = "SELECT * FROM ABCMaster Order By A" Set rs = db.Execute(SQL) If Not RS.BOF Then Do While Not RS.EOF a="" & RS("A") & "/" & RS("B") & "/" & RS("C") & "" Response.Write "Select name=""III""><OPTION>" & a & "</OPTION></SELECT>" Session("A" & tmpIndex)=rs("A") RS.MoveNext tmpIndex=tmpIndex+1 Loop Else ・ ・ ・ ボクにはこの程度までしか組めませんでした。 これだと当然ですがプルダウンリスト(?)がいくつも出てきますし中に表示されるものは同じものになってしまいます。 ただ、1行目の111/222/333はちゃんと表示されます。これを2行目以降追加するようにしたいのです。 作成しているファイルは任意名.aspという拡張子のものになります。 質問の意味自体がおかしいかもしれませんし、 やろうとしていること自体が間違っているのかもしれませんが、今週中にはある程度の形に仕上げないといけないのでどんなアドバイスでも良いのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.2

htmlの部分ですがSELECTタグをループさせているために セレクトボックスがレコード数出てしまいますね。 ------------------------------------------------ SQL = "SELECT * FROM ABCMaster Order By A" Set rs = db.Execute(SQL) If Not RS.BOF Then Response.Write "<Select name=""III"">" Do While Not RS.EOF a="" & RS("A") & "/" & RS("B") & "/" & RS("C") & "" Response.Write "<OPTION values=" & tmpIndex & ">" & a & "</OPTION>" Session("A" & tmpIndex)=rs("A") RS.MoveNext tmpIndex=tmpIndex+1 Loop Response.Write "</SELECT>" Else ・ ・ ・ ------------------------------------------------ とループの外に<select>タグを追い出してみてください。

MIYABF5D
質問者

お礼

ありがとうございます! #1にて同様の答えをいただいたのですが<SELECT>タグを外に出したらエラーになってしまいちょっと困っていました。 その都度Response.Writeが必要なのを忘れていました。 上記記述も前担当者の他の記述を流用しているので、 なぜこのような記述になるのかを調べながら作業しています。 未だにわからないけど動いているからいいや。みたいなとこもしばしば。。。(汗) 記述していただいたおかげでなんとか解決できました。 本当にありがとうございます! また度々ここでお世話になるかと思いますがその節はまたよろしくお願いします。

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

まず、ASPの仕組みを知っておいてください。 サーバー側でHTMLファイルを作って、それをクライアントに送信するのです。 つまり、HTMLを知らなければ、当然ASPは扱えません。 <SELECT> <OPTION> </OPTION> </SELECT> はHTMLです。 今回、うまくいかないのは、DBの扱い方は関係なく、あなたがHTMLをわかっていないためです。 <SELECT>タグは、プルダウンメニューを表示します。 中身は<OPTION>タグで指定します。 中身が複数の場合は、 <SELECT> <OPTION>A <OPTION>B <OPTION>C </SELECT> のようになります。 今は、 a="" & RS("A") & "/" & RS("B") & "/" & RS("C") & "" Response.Write "Select name=""III""><OPTION>" & a & "</OPTION></SELECT>" の中に</SELECT>が入っているため、 <SELECT><OPTION>A</OPTION></SELECT> <SELECT><OPTION>B</OPTION></SELECT> <SELECT><OPTION>C</OPTION></SELECT> のようになっているのではないでしょうか。 <SELECT>タグを出力する場所をループの外側にすればいいはずです。

MIYABF5D
質問者

お礼

おっしゃる通りHTMLやVB、ASPなど単語は知っていても意味はさっぱりという感じです。 前の担当者が辞めていきなり放り込まれた部署で、 大した引継ぎも無くプログラム作成に。。。 前の担当者が残したものを頼りに似たような動作をする記述を探って更新して書き直しての作業の繰り返しをしています。 ループを外側に持っていくと「ステートメントがありません」ってエラーがでて困って先ほどのような記述になりました。 #2の方の記述を参考にしたらできました。 ありがとうございます。 また何かありましたらよろしくお願いします

関連するQ&A