こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

レコードセットで得た結果をサブフォームに出力したい

こんにちは。Access 2010のフォームについてお教え頂けないでしょうか。

下記URLのようにForm1があります。
http://kie.nu/yHO

Form1には下記のオブジェクトがあります。
・テキストボックス tb1
・ボタン b1
・サブフォーム sf1

またテーブルが1つあります。
・テーブル T1

やりたいこと:
テキストボックスにキーワードを入力して検索ボタンを押すと、検索結果がサブフォームに表示されるようにしたい。

条件:
VBAでやりたい。

そこで下記のコードを書いてみました。

Private Sub cmd_exe_Click()

Dim objADOCON As ADODB.Connection
Dim objADORS As ADODB.Recordset
Dim SQL As String

Set objADOCON = Application.CurrentProject.Connection
Set objADORS = New ADODB.Recordset


SQL = "select * from T1 where keyword = '" & tb1 & "'"

objADORS.Open SQL, objADOCON, adOpenKeyset, adLockOptimistic

ここまではできて、無事にレコードセットも取得することができました。
しかし、ここでつまってしまって、どのように結果をサブフォームに出力していいのかわかりません。
こちらお教え頂けないでしょうか。宜しくお願いします。

投稿日時 - 2012-11-15 20:07:48

QNo.7799446

困ってます

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

>SQL = "select * from T1 where keyword = '" & tb1 & "'"
でエラーになるかと思ったら出来るんですね・・・??
Accessが気を利かしてくれているらしいのですが、少し気味が悪いので

Private Sub cmd_exe_Click()
Dim SQL As String
If isnull(me!tb1) then
SQL = "select * from T1 "
else
SQL = "select * from T1 where keyword = '" & ME!tb1 & "'"
end if
me!sf1.form.recordsource = sql
・・・
では?

投稿日時 - 2012-11-16 11:05:21

お礼

>me!sf1.form.recordsource = sql

VBAでrecordsourceというプロパティを使えるのを知りませんでした。お教え頂いたとおりにやりましたら無事に成功しました!ありがとうございました。

投稿日時 - 2012-11-17 18:13:58

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問