ACCESSで検索フォームを作りたいと思っています。
VBAを使って行きたいと思うのですが、うまくいきません。
希望としては、該当するレコードのデータを抽出したいです。
よろしくお願いいたします。
※現段階でのソースを書いてみました。
最終的に行いたい処理とは違うのですが、根本的に間違っているようなので簡略化しました。
/------------------------------------------------/
Private Sub コマンド1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
'接続
Set cn = CurrentProject.Connection
'レコードセットを取得
Set rs = New ADODB.Recordset
sql = "SELECT * FROM 従業員データ " & _
"WHERE 年齢=30"
rs.Open sql, cn, adOpenDynamic, adLockReadOnly
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
/------------------------------------------------/
No.2ベストアンサー
- 回答日時:
再びmaruru01です。
レコードセットのOpenメソッドは、レコードセットが参照出来るようになるだけで、表示はしません。
表示する場合は、表示の方法でやり方が異なります。
抽出結果表示用のフォームを作る場合は、フォームのレコードソース(RecordSourceプロパティ)にsqlの内容を設定する。
または、SQLステートメントにINTO句を入れて、抽出結果テーブルを作成し、テーブルを開くか、そのテーブルを先ほどのフォームのレコードソースに設定する。
以上は、レコードセットの作成はしません。
もしくは、順番に抽出した結果を見ていくのであれば、今のようにレコードセットを作成し、
With rs
Do Until .EOF
MsgBox !従業員名
.MoveNext
Loop
End With
という風にする。
いずれにしろ、現状のコードでは結果は表示されません。
では。
No.1
- 回答日時:
こんにちは。
maruru01です。書かれてある部分は、見たところ間違いはないようですが。
いったいどんな風にうまくいかないのでしょうか。
ここに書かれてある部分だけでエラーが出るのなら、ステップ実行してエラー個所を特定してみて下さい。
とりあえず、ものすごく基本的なこととして、
・ADOの参照設定はされているか。
・テーブル名(従業員データ)やフィールド名(年齢)のスペルミスはないか。
・[年齢]フィールドのデータ型は、数値型になっているか。
・その他単純なスペルミスはないか。
は大丈夫ですよね。
いずれにしろ、ステップ実行してエラー個所を探して教えて下さい。
では。
この回答への補足
早速の回答ありがとうございます。
エラーは出ないのですが、何も結果が表示されないんですよ。
処理は最後まで動いているみたいです。
SQLの結果で抽出されたレコードをみるにはどうしたらいいのでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 3個のfileのセルデータを1個のfileのセルに貼り付けるVBAコードですが。 1 2023/02/20 09:21
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
ExcelのVBAコードについて教え...
-
エクセルについて
-
ユーザーフォームに別シートか...
-
Vba 実数および実数タイプの変...
-
VBA 何かしら文字が入っていたら
-
Excelのマクロについて教えてく...
-
エクセルVBAについて
-
VB.net(VB)で、フォームにExcel...
-
ExcelのVBAコードについて教え...
-
CADシステムに図面番号を入力し...
-
FileCopy時のエラー
-
VBA 複数条件の分岐処理の上手...
-
VBAを使用した時間管理
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】インデックスが有...
-
VBA 別ブックからコピペしたい...
-
VBA 同じ名前のオブジェクトを...
-
VBAの計算で@が出てしまう件
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報