出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
[3423] ACCESSデータをプルダウンで検索し、表示する |
投稿者:なおさん 2003/06/17 14:02:07 |
プログラムの理解ができず苦しんでます。 本を頼りにやっていますが、応用がきかないのでギブアップしそうです。 教えていただけますか? ACCESSのデータベースを検索して呼び出し、一覧表を表示させるのですが、下記に記載したプログラムでは検索フォームに手入力する方法です。 これをプルダウンにするにはどうしたらよいのでしょうか? ACCESSのデータには、「商品名」「コード」「価格」があり、それぞれにデータが入っています。 ODBC名は「odbcmdb」 ACCESSのファイル名は「data1.mdb」 ACCESSのテーブル名は「table1」 です。 現在のプログラムでは「商品名」と「コード」のいづれかを手入力し、「検索実行」ボタンで検索し、結果を一覧で表示するようになっています。 このプログラムを次のように変更したいのですが、、 ・同じテーブルの「商品名」のデータをプルダウンで呼び出して選択し、検索ボタンで検索し、結果を一覧で表示させるように。 ・もうひとつ「コード」でも同じように検索・表示するようにしたいです。 ********* 現在のプログラム ********** <% <!------データ接続---------> Dim ObjConn,StrSQL,ObjRS Set ObjConn = Server.CreateObject("ADODB.connection") ObjConn.Open "odbcmdb" StrSQL = "select * from table1" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,3,3 %> <!-- 検索フォーム定義 --> <form method="POST"> <table> <tr> <td><input type="text" name="t1"> </td> <td><input type="submit" value="検索実行"> </td> </tr> </table> </form> <% Key=Request.Form("t1") %> <% <!----データ接続、検索------> Set ObjConn = Server.CreateObject("ADODB.connection") ObjConn.Open "odbcmdb" StrSQL = "SELECT * FROM table1" & _ " WHERE (商品名 LIKE '%" & Key & "%')" & _ " or (コード LIKE '%" & Key & "%')" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,3,3 %> <% if Key <> "" then <table border="1"> End if %> <% <!---最後のデータを処理するまで繰り返し---> Do until ObjRS.EOF if Key = "" then Exit Do %> <tr> <!-- 「商品名」〜を表示します --> <td><%=ObjRS("商品名")%></td> <td><%=ObjRS("コード")%></td> <td><%=ObjRS("価格")%></td> </tr> <% <!---次のデータに移動---> ObjRS.MoveNext Loop %> </table> *************************************** シロウトの考えでは、 <input type="text" name="t1">の部分を <select name="">に変更したりしてみたのですがうまくいきません。 そんなに単純ではないですね・・ 意外と本に載っていないので困っています。 どの部分をどういう風に変えればいいのか、よろしくお願いします。 |
[3425] Re:ACCESSデータをプルダウンで検索し、表示する |
投稿者:YasNet(管理人)さん 2003/06/18 8:49:21 |
こんにちは YasNetです。 考え方は良いと思いますよ。 ASPというより、HTMLの構文をきちんと見直したほうがよいのでは? <select name="t1"> <option value="AAA">表示名A</option> 〜 <option value="ZZZ">表示名Z</option> </select> こんな感じで代用可能かと・・・ イメージが違うかな・・・違ってたらすみません では〜 > シロウトの考えでは、 > <input type="text" name="t1">の部分を > <select name="">に変更したりしてみたのですがうまくいきません。 > そんなに単純ではないですね・・ > 意外と本に載っていないので困っています。 > どの部分をどういう風に変えればいいのか、よろしくお願いします。 > > |
[3426] Re:ACCESSデータをプルダウンで検索し、表示する |
投稿者:なおさん 2003/06/18 9:26:59 |
YasNetさん、有難うございます。 でも、プルダウンの中身はデータベースを見にいくようにしたいのです。 それでちょっと作ってみたら、プルダウンが一つだけだとうまくいきました。 ただ、もうひとつ「商品コード」のプルダウンを作り、いづれかで検索しなくてはいけなくて、そうなるとサブルーチンを作らないといけないのでしょうか。 またまた私には高度な技術です。 ちょっと勉強してみます・・・。 *** 「商品名」の検索プルダウンだけでうまくいったプログラム。*** <% 'データベース接続(table1) Set ObjConn = Server.CreateObject("ADODB.connection") ObjConn.Open "odbcmdb" StrSQL = "SELECT * FROM table1" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,3,3 %> <!-- 入力フォーム定義 --> <form method="POST"> <table> <tr> <td>商 品 名: </td> <td> <% '選択リスト表示 Response.Write "<select name=""syohin"">" Do While Not ObjRS.EOF Response.Write "<option value=" & _ ObjRS("商品名") & ">" & ObjRS("商品名") ObjRS.MoveNext Loop Response.Write "</select>" %> </td> <td><input type="submit" value="送信"> </td> </tr> </table> </form> <% '検索キーワードの取得 Key=Request.Form("syohin") %> <% 'データベース接続 Set ObjConn = Server.CreateObject("ADODB.connection") ObjConn.Open "odbcmdb" StrSQL = "SELECT * FROM table1" & _ " WHERE (商品名 LIKE '%" & Key & "%')" & _ " or (商品コード LIKE '%" & Key & "%')" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,3,3 %> <% if Key <> "" then %> <!-- データ表示テーブル --> データ件数:<% = ObjRS.RecordCount %>件 <table border="1" bordercolor="#0099bb" cellspacing="0" cellpadding="3"> <% '最後のデータを処理するまで繰り返します Do until ObjRS.EOF if Key = "" then Exit Do %> <tr> <!-- 「商品名」〜を表示します --> <td class="kekka3"><%=ObjRS("商品名")%></td> <td class="kekka3"><%=ObjRS("商品コード")%></td> <td class="kekka1"><%=ObjRS("価格")%></td> </tr> <% '次のデータに移動します ObjRS.MoveNext Loop %> </table> ************************************************ これにもうひとつ「商品コード」でも検索できるプルダウンを 追加したいのです。 |
[3429] Re:ACCESSデータをプルダウンで検索し、表示する |
投稿者:なおさん 2003/06/18 16:38:25 |
すみません、何とかうまくいきました。 あとはデータを昇順に並べる課題が残ってますが、また本を見てわからないときはよろしくお願いします!! |
TreeBBS For ASP V.0.1.3 |