Excel vbaでAccessからデータを取得し、Excelへ貼り付けるようにしたいです。

補足

申し訳ありません。 どうもフィールド名が間違っていたみたいです。土日にはいるのでWHEREのBETWEENを試すのは月曜日になってしまうのですが、 フィールド名を変えたらWHERE [YMD]='20210823'でデータ取得できました。 どうもaccessで開くと測定年月日と表示されているのに、試しにExcelにエクスポートしてみたところフィールド名がYMDとなっていました。その原因はわかりません。

ベストアンサー

0

この返信は削除されました

ThanksImg質問者からのお礼コメント

皆様のおかげで何とか目的のデータの取得をすることができました。 特にフィールド名の間違いに気づかせていただいたりしたのでベストアンサーにさせていただきました。 皆様ありがとうございました。

お礼日時:9/8 14:05

その他の回答(3件)

0

こんにちは。 確認で、strSQL = "SELECT * FROM [目的のテーブル] WHERE 測定年月日 BETWEEN 20200101 AND 20200131 ;" など、文字列として直接設定して、実行させてください。 それで、正しく実行できる文字列を探す。 探したら、B2セルなどのセルの中身から、正しく文字列に変換することようにしてください。

元のAccessがテキスト型なのを確認したので、 WHERE 測定年月日 BETWEEN '20200101' AND '20200131' ;" にしてみたのですが1つ以上の必要なパラメータの値が設定されていません、と出ました。 最後の;にはどのような意味があるのでしょうか?

0

>Accessの測定年月日フィールドには20210401の様に/なしの8桁で日付が入っているので、取得したい期間の開始日をB1セルに、終了日をB2セルに8桁の日付で入力してあります。 SQLは測定年月日を文字型として扱ってますけどEXCELの測定年月日は何型でしょう?

0

これでどうでしょうか。 ダブルクオーテーション「"]とシングルクオーテーション「'」の使い分けです。 strSQL = "SELECT * FROM [目的のテーブル] WHERE 測定年月日 BETWEEN ’" & kaishi & "' AND '" & syuryo & "'"