• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelでAccessのテーブルの操作2)

ExcelでAccessのテーブルの操作2

このQ&Aのポイント
  • Excelで期間選択すると、Accessのテーブルから選択した期間のデータを抜き出す方法はあるのか?
  • Excelで指定した期間と名前を変数に保持し、Excelのシートに保存する方法を教えてください。
  • ExcelとAccessの連携を行い、特定の期間のデータを取得する方法について困っています。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

#1です。 Wクォーテーションと&でつなぐのも煩雑なので、下記もありかなと思いつきました。 ご参考まで。 strsql = "SELECT * FROM 接続先 WHERE 日付 BETWEEN strStartData AND strEndData ORDER BY 日付" strsql = Replace(strsql, "strEndData", strEndData) strsql = Replace(strsql, "strStartData", strStartData)

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

strsql = "SELECT * FROM 接続先 WHERE 日付 BETWEEN strStartData AND strEndData ORDER BY 日付" は変ですね。とかくやりがちなので、 debug.print strsql などとして、所期ののSQL文になっているかご確認下さい。 某言語の様に、文字列中の変数を値と置き換えてくれる様な機能はありませんので、 strStartDataという文字、strEndDataという文字と日付を比較する事になっていると思います。 前略 BETWEEN " & strStartData & " AND " & strEndData & " ORDER 後略とする必要があります。 また、日付フィールドが数値では無くて、文字列型の場合は、さらにシングルクォーテーションで囲う必要があります。 "'" & strStartData & "'" とか、 chr(39) & strStartData & chr(39) とか... ご参考まで。

関連するQ&A