いつもお世話になっています。
めちゃくちゃ初心者です。
早速ですが質問させてください。
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という拡張子のものになります。

質問の意味自体がおかしいかもしれませんし、
やろうとしていること自体が間違っているのかもしれませんが、今週中にはある程度の形に仕上げないといけないのでどんなアドバイスでも良いのでよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (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>タグを追い出してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます!
#1にて同様の答えをいただいたのですが<SELECT>タグを外に出したらエラーになってしまいちょっと困っていました。
その都度Response.Writeが必要なのを忘れていました。

上記記述も前担当者の他の記述を流用しているので、
なぜこのような記述になるのかを調べながら作業しています。
未だにわからないけど動いているからいいや。みたいなとこもしばしば。。。(汗)

記述していただいたおかげでなんとか解決できました。
本当にありがとうございます!
また度々ここでお世話になるかと思いますがその節はまたよろしくお願いします。

お礼日時:2005/04/19 15:33

まず、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>タグを出力する場所をループの外側にすればいいはずです。
    • good
    • 0
この回答へのお礼

おっしゃる通りHTMLやVB、ASPなど単語は知っていても意味はさっぱりという感じです。
前の担当者が辞めていきなり放り込まれた部署で、
大した引継ぎも無くプログラム作成に。。。
前の担当者が残したものを頼りに似たような動作をする記述を探って更新して書き直しての作業の繰り返しをしています。

ループを外側に持っていくと「ステートメントがありません」ってエラーがでて困って先ほどのような記述になりました。
#2の方の記述を参考にしたらできました。
ありがとうございます。
また何かありましたらよろしくお願いします

お礼日時:2005/04/19 15:15

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


人気Q&Aランキング