dポイントプレゼントキャンペーン実施中!

こんばんは。

Windows2000、Access2000でVBにて開発をしています。

 1.SQLServerのリンクテーブルおよびAccessローカルテーブルからテーブル作成クエリを実行→TableA
 2.TableAを「TableA_YYYY/MM/DD」としてSQLServerへコピー(YYYY/MM/DD=出力時の日付)

1.2.を前提に、前日のTableA_YYYY/MM/DDをAccessへ「TableB」としてインポートしたいのですが、
'SQLServerのデータベース名
Path = "ODBC;DSN=AAA;UID=BBB;PWD=CCC;DATABASE=DDD"
DoCmd.TransferDatabase acImport, "ODBC データベース", Path, acTable, "TableA_" & DateAdd(d,-1,date), TableB, False, True

とすると、
「クエリの構文エラーです。クエリの句が不完全です。」
とエラーになってしまいます。

どなたか、解決策を教えていただけたらと思います。

A 回答 (1件)

まずSQLサーバ上には「TableA_YYYY/MM/DD」が存在するかが問題になりますね



>DoCmd.TransferDatabase acImport, "ODBC データベース", Path, acTable, "TableA_" & DateAdd(d,-1,date), TableB, False, True

これのソース元テーブルの指定ですが、
"TableA_" & DateAdd(d,-1,date)

"TableA_" & Format(DateAdd("d",-1,Date()), "yyyy/mm/dd")

の様に変更してみてはどうですか?

この回答への補足

AlexSunsさん、回答ありがとうございます。

「TableA_YYYY/MM/DD」は存在しています。
(このためにわざわざ作ってみたので・・・)

・・・というか、
"TableA_" & DateAdd(d,-1,date), TableB

"TableA_" & DateAdd("d",-1,date),"TableB"

にしたらサクッと通ってしまいました><

補足日時:2005/04/27 22:00
    • good
    • 0
この回答へのお礼

・・・というわけで、無事問題解決です。

改めてダブルクォーテーションマークの重大さが身に染みました^^;

お礼日時:2005/04/27 22:04

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A