電子書籍の厳選無料作品が豊富!

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

フォームで抽出条件を入力しテーブルから抽出をするとき
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) & ";"
の、記述を何か変更しないといけないような気もしますが
対処の方法を教えていただけませんか。

A 回答 (2件)

こんにちは。



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

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

ではでは・・・
    • good
    • 0
この回答へのお礼

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

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

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

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

お礼日時:2002/04/19 14:19

こんにちは。



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

ではでは・・・
    • good
    • 0
この回答へのお礼

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

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

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

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

お礼日時:2002/04/19 12:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!