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

解決済みの質問

Access VBA 日付で抽出できない?

次の質問にお答えいただけませんか。

フォームで抽出条件を入力しテーブルから抽出をするとき
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim mySQL As String

Set db = CurrentDb()

mySQL = "SELECT * FROM T_明細 " _
& "WHERE 顧客ID = " & CStr(Me!txtKey) & ";"

Set rs = db.OpenRecordset(mySQL, dbOpenDynaset)

上記のような記述をしました。

テーブル名:T_明細   フィールド:顧客ID  日付 金額 
フォームの抽出条件入力テキストボックス:txtKey

このとき顧客IDでの抽出は問題なく出来ましたが
"WHERE 顧客ID = を
"WHERE 日付 = に変更して日付で抽出をしたいのですがうまくいきません。

テーブルの日付フィールドは 書式をgee-mm-dd 定型入力を>L99\-99\-99;0;# で書き込みました。
フォームのtxtKeyテキストボックスのプロパティも書式をgee-mm-dd 定型入力を>L99\-99\-99;0;#に設定してあります。

このようなときは
mySQL = "SELECT * FROM T_明細 " _
& "WHERE 日付 = " & CStr(Me!txtKey) & ";"
の、記述を何か変更しないといけないような気もしますが
対処の方法を教えていただけませんか。

投稿日時 - 2002-04-19 10:24:23

QNo.255558

暇なときに回答ください

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

こんにちは。

勉強方法ですか?
う~ん、私の場合はすべてヘルプで勉強しました。
とも言うのも、Access 2.0の時代から触っていて
当時は何も参考書とかもなくて、他に聞く人もいない
環境だったのでヘルプだけが頼りでした。

で、VBAでSQLを記述するときは、一旦クエリーで正しく
抽出できるように作成して、そのクエリーの実際のSQL
を見るとどのように記述すれば良いか分かりますよ。

ではでは・・・

投稿日時 - 2002-04-19 13:15:00

お礼

ご丁寧に有難うございます。

ヘルプはどうも見づらくて・・・

>で、VBAでSQLを記述するときは、一旦クエリーで正しく
>抽出できるように作成して、そのクエリーの実際のSQL
>を見るとどのように記述すれば良いか分かりますよ。

なるほど。こんなことも気づきませんでした。
大助かりです。

投稿日時 - 2002-04-19 14:19:42

ANo.2

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

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

回答(2)

ANo.1

こんにちは。

このような文で対応できると思います。
mySQL = "SELECT * FROM T_明細 " _
& "WHERE 日付 = #" & _
Format$(Me!txtKey,"yyyy-mm-dd") & "#;"

ではでは・・・

投稿日時 - 2002-04-19 10:49:29

お礼

早速ご回答くださいまして有難うございます。

私ごとになりますが、趣味も兼ねましてAccessの勉強を始めた50歳半ばの”おじいちゃん”です。
近くで講習とかを受講できるところも無く、解説本を片手の独学です。
わかり辛いところがいっぱいあり、苦労してます。
この「教えて!goo」は非常に役立っています。

お恥ずかしいのですが、ご回答いただいた内容は何を勉強すれば理解が早いでしょう。
今の私は理解と言うよりは、このような時は”このように記述するのだ”と内容も理解せず憶えています。これでは進歩がありません。

「このような本でこのようなことを勉強すればいいですよ」というオススメがあれば教えてくださいませんか。

投稿日時 - 2002-04-19 12:16:04

あなたにオススメの質問