• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAでアクセスデータベースを抽出して読み込む方法)

エクセルVBAでアクセスデータベースを抽出して読み込む方法

このQ&Aのポイント
  • エクセルVBAを使用してアクセスデータベースから特定の日付の情報を抽出する方法について説明します。
  • 日付を指定してアクセスデータベースから情報を抽出する際に、構文エラーが発生する場合の訂正方法について解説します。
  • エクセルのフォームにテキストボックスとコマンドボタンを配置し、日付を入力して検索を実行する方法について説明します。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

以下でどうですか。 sqlStr = " SELECT * FROM 予定表 WHERE 作成日 = #" & sday & "#"

ex1990
質問者

お礼

早速のご返事ありがとうございます。 早速試してみます。

その他の回答 (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)

ex1990
質問者

お礼

早速のご返事ありがとうございます。 作成日 = # sday # は方言 なるほど勉強になります。 今仕事で使っているソフトがDOSなのです。 不便なので新しいソフトを探してはいるのですが、 なかなか難しいです。 そこで、何とか自分で作れないものだろうかと、いろいろなサイトを見て勉強中です。 まずは簡単なものから挑戦しています。 また解らない事があったら教えてください。 よろしくお願いします。

関連するQ&A