※ ChatGPTを利用し、要約された質問です(原文:VBAで日付型とテキストでフィルタをかけるには?)
VBAで日付型とテキストでフィルタをかける方法
このQ&Aのポイント
VBAを使用して日付型とテキストを組み合わせてフィルタリングする方法を教えてください。
クエリではフィールド1が指定した範囲の日付であり、フィールド2が指定したテキストと一致するデータを取得しています。
VBAのコードでフィルタリングを行う際、構文エラーが発生してしまいます。どのように修正すれば良いでしょうか?
テーブルのデータは
フィールド1
2012/1/1
2012/1/2
2012/1/3
2012/1/4
2012/1/5
2012/1/6
2012/1/7
2012/1/8
2012/1/9
2012/1/10
フィールド2
A
A
A
A
A
B
B
B
B
B
です。
このクエリをもとに票フォームを作成して、
・txt_始まりテキスト
・txt_終わりテキスト
・txt_フィールド2テキスト
を作りました。
あとコマンドボタン(cmd_抽出)も作りました。
このコマンドボタンを押して
日付とテキストを抽出したいのですがVBAでのやり方を教えてください。
クエリなら
------------------------------------------------------------
SELECT テーブル1.フィールド1, テーブル1.フィールド2
FROM テーブル1
WHERE (((テーブル1.フィールド1) Between #1/4/2012# And #1/6/2012#) AND ((テーブル1.フィールド2)="A"));
でできました。
------------------------------------------------------------
しかしVBAで
------------------------------------------------------------
Private Sub cmd_抽出_Click()
Me.Form.Filter = "フィールド1 Between #" & Me.txt_始まりテキスト.Value & "# And #" & Me.txt_終わりテキスト.Value & "#" & _
"' And フィールド2 like '*" & Me.txt_フィールド2テキスト.Value & "*" & "'"
Me.Form.FilterOn = True
End Sub
------------------------------------------------------------
をすると、
------------------------------
実行時エラー3075
構文エラー:演算子がありません。
------------------------------
になります。
どうすればいいか教えてください。
結果は、
------------------------------
フィールド1 フィールド2
2012/01/04 A
2012/01/05 A
------------------------------
です。
ご回答よろしくお願いします。
お礼
' をとったらうまくいきました!!!ありがとうございました。大変参考になりました。