• 締切済み

SQLServer→Access インポート

こんばんは。 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 とすると、 「クエリの構文エラーです。クエリの句が不完全です。」 とエラーになってしまいます。 どなたか、解決策を教えていただけたらと思います。

みんなの回答

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.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") の様に変更してみてはどうですか?

sckt
質問者

お礼

・・・というわけで、無事問題解決です。 改めてダブルクォーテーションマークの重大さが身に染みました^^;

sckt
質問者

補足

AlexSunsさん、回答ありがとうございます。 「TableA_YYYY/MM/DD」は存在しています。 (このためにわざわざ作ってみたので・・・) ・・・というか、 "TableA_" & DateAdd(d,-1,date), TableB ↓ "TableA_" & DateAdd("d",-1,date),"TableB" にしたらサクッと通ってしまいました><