• ベストアンサー

ASPとACCESSで検索画面を作成したい

ASPとACCESSを使って検索画面を作成したいと考えています。 ********ACCESSのテーブル********* 氏名 住所 TEL 佐藤 愛知県 052… 鈴木 東京都 03… 永田 大阪府 06… ASPの画面で、 氏名を入力すると、 住所とTELが表示されるようにしたいと思っています。 ググりましたが、なかなかサンプルが見つかりません。 丸投げのようで恐縮ですが、宜しくお願いします。

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

  • ベストアンサー
  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.4

再びこんちくは。(そろそろこんばんちくは? >>ASPは初心者です。 下記のソースから、入力した名前を実行ボタンを押すことで検索してきて表示させたい。 となると、今度はHTMLの方のお勉強になりそうですね。 Formタグのお勉強と、POST送信、GET送信の使い方あたりのお勉強をしてみることをオススメします。 http://www.kanzaki.com/docs/html/htminfo31.html >>またまた丸投げのようですが、よろしくおねがいします。 自分の性格上、ソース書いて、はいどうぞ~ってのはあんましやらないので。。。 がんばってください。 ちなみに、自分はAccessのDBからASP画面での表示に最初やった頃は丸一日かかったので、質問者さんは随分速いほうだと思うのでがんばってください^^;

smorgas030
質問者

お礼

回答ありがとうございます。 ファイルを2つにしました。 1つめのファイルで「氏名」を入力、 2つめのファイルでFormの値をGETすればいいのかと思いますが、 GETのしかたがわかりませんでした。 どなたかアドバイスをお願いします。 ****1.htm**** <form method="POST" action="2.asp"> <input name="simei" type="text"> <input type="submit" value="実行"> </form> ****2.asp**** Set db=Server.CreateObject("ADODB.Connection") db.Provider = "Microsoft.Jet.OLEDB.4.0" db.ConnectionString = Server.MapPath("test.mdb") db.open ***1.htmで入力されたデータをクエリに反映させたい***** Set rs = db.Execute("SELECT …… WHERE ((test.氏名)='simei')") Response.Write "<TABLE>" Response.Write "<TR>" Response.Write "<TD>氏名</TD>" Response.Write "<TD>住所</TD>" Response.Write "<TD>TEL</TD>" Response.Write "</TR>" Do While rs.EOF = False Response.Write "<TR>" Response.Write "<TD>" & rs.Fields.Item("氏名") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("住所") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("TEL") & "</TD>" Response.Write "</TR>" rs.MoveNext Loop Response.Write "</TABLE>" rs.Close db.Close Set db = Nothing

その他の回答 (3)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.3

<html> <head> <title> ASPテスト。 </title> </head> <body> ぼでぃー。<BR> <% response.write("ぼでぃー。。。") %> </body> </html> 上だけのようなファイル作って、一度表示することを確認してから、ASPの部分を追加しつつ、どこでエラーが発生しているのかって確認のしかたもアリかな。

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

こんにゃくは。 >>ODBCの設定は完了しています。 動作させる環境は整っている前提でいいのでしょうかね? IISだとか、ASPのバージョンだとか。。。 とりあえず。 '##### レコードセットのオープン ##### から '##### コネクションのクローズ ##### objCon.Close Set objCon = Nothing までの間を全部削除して、「データベースの接続定義」だけと、HTMLの本文だけで表示が可能なのかどうかをまず確認。 できるようなら、次にレコードセットのオープン部分を追加して、オープンできるか確認。 次にレコード件数を取れるか。。。 レコードの中身が表示できるか。。。 まぁ、地道に上から表示させつつ、どこでエラーが出てるのか調べるしか。

smorgas030
質問者

お礼

回答ありがとうございます。 とりあえずDBを表示させるまではできました。 「氏名」を入力する欄を作成し、「実行」ボタンを押したら、 その入力された「氏名」をクエリに組み込めばいいのかと思い、 以下のようなASPを作成しましたが、「実行」ボタンを押しても反応しません。 ASPは初心者です。 またまた丸投げのようですが、よろしくおねがいします。 ****作成したASP(最初に記述したコードを変更しました)****** <%@LANGUAGE=VBScript%> <html> <head> </head> <body> 検索する<br> <input name="simei" type="text"> <input type="submit" value="実行"> <br> <% Set db=Server.CreateObject("ADODB.Connection") db.Provider = "Microsoft.Jet.OLEDB.4.0" db.ConnectionString = Server.MapPath("test.mdb") db.open ****ここに入力された「氏名」を反映させる*** Set rs = db.Execute("SELECT … WHERE ((test.氏名)='simei')") Response.Write "<TABLE>" Response.Write "<TR>" Response.Write "<TD>氏名</TD>" Response.Write "<TD>住所</TD>" Response.Write "<TD>TEL</TD>" Response.Write "</TR>" Do While rs.EOF = False Response.Write "<TR>" Response.Write "<TD>" & rs.Fields.Item("氏名") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("住所") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("TEL") & "</TD>" Response.Write "</TR>" rs.MoveNext Loop Response.Write "</TABLE>" rs.Close db.Close Set db = Nothing %> </body> </html>

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

http://www.site-cooler.com/kwl/asp/ どうぞ。 勉強し始めの頃よく使いました。忘れたときとかもよく見ますが。 ASPとAccessで探さないで、ASPのみでググった方が、ついでにDBへの接続方法~って事で載ってる場合が多々あります。

smorgas030
質問者

お礼

回答ありがとうございます。 とありあえず、ACCESSのデータを表示できるか、 以下のように作成しましたが、 ”ページを表示できません”のメッセージが出てしまいます。 ODBCの設定は完了しています。 何が原因でしょうか。 ACCESSは2003です。 ******test.asp********* Dim objCon Dim objRS Dim strSQL '##### コネクションオブジェクトの生成 ##### Set objCon = Server.CreateObject("ADODB.Connection") '##### 接続用パレメータの設定 ##### objCon.Provider = "Microsoft.Jet.OLEDB.4.0" '##### MDBの絶対パス指定 ##### objCon.ConnectionString = "C:\test.mdb" '##### コネクションのオープン ##### objCon.Open '##### SQLの作成 ##### strSQL = "select * from test" '##### レコードセットのオープン ##### objRS.Open strSQL, objCon, 3 %> レコード件数 <%=objRS.RecordCount%> <br> <br> <table border="1"> <% '##### EOF が True になるまで繰り返し ##### Do Until objRS.EOF %> <tr> <td><%=objRS("住所").value%></td> <td><%=objRS("氏名").value%></td> </tr> <% '##### 次のレコードを参照 ##### objRS.MoveNext Loop %> </table> <% '##### レコードセットのクローズ ##### objRS.Close Set objRS = Nothing '##### コネクションのクローズ ##### objCon.Close Set objCon = Nothing %> </body> </html>

smorgas030
質問者

補足

ACCESSのアクセス権に問題がありました。 DBを表示させることは成功しました。 ありがとうございました。

関連するQ&A