- 締切済み
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 とすると、 「クエリの構文エラーです。クエリの句が不完全です。」 とエラーになってしまいます。 どなたか、解決策を教えていただけたらと思います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- AlexSuns
- ベストアンサー率67% (78/115)
まず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" にしたらサクッと通ってしまいました><