- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでアクセスデータベースを抽出して読み込む方法)
エクセルVBAでアクセスデータベースを抽出して読み込む方法
このQ&Aのポイント
- エクセルVBAを使用してアクセスデータベースから特定の日付の情報を抽出する方法について説明します。
- 日付を指定してアクセスデータベースから情報を抽出する際に、構文エラーが発生する場合の訂正方法について解説します。
- エクセルのフォームにテキストボックスとコマンドボタンを配置し、日付を入力して検索を実行する方法について説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下でどうですか。 sqlStr = " SELECT * FROM 予定表 WHERE 作成日 = #" & sday & "#"
その他の回答 (2)
- utakataXEX
- ベストアンサー率69% (711/1018)
回答No.3
#1です。 すいません。今試してみたら、#2さんのやり方でOKでした。 VBA上では #日付型# の記述はエラーになると勘違いしていました。
- utakataXEX
- ベストアンサー率69% (711/1018)
回答No.1
> 作成日 = # sday # Accessのクエリーの中ではこれでもOKですが、これは方言なので、他の言語から実行するなら、エラーになりますね。 とりあえず動くようにするなら Dim sday As String 'Date にしない sday = TextBox1.Text (中略) 'フォームの日付の文字列をSQL側の関数で日付変換する sqlStr = " SELECT * FROM 予定表 WHERE 作成日 = cDate('" & strday & "')" (以下略) SQLインジェクションを回避する上では、上記の方法ではなくパラメータバインドを使用する方がベターですが、フォーム側で必ず暦日チェックがされているなら、まあOKでしょう。 (久しく書いていないのでADOでの記述を忘れましたw)
質問者
お礼
早速のご返事ありがとうございます。 作成日 = # sday # は方言 なるほど勉強になります。 今仕事で使っているソフトがDOSなのです。 不便なので新しいソフトを探してはいるのですが、 なかなか難しいです。 そこで、何とか自分で作れないものだろうかと、いろいろなサイトを見て勉強中です。 まずは簡単なものから挑戦しています。 また解らない事があったら教えてください。 よろしくお願いします。
お礼
早速のご返事ありがとうございます。 早速試してみます。