こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

accessの DoCmd.CopyObject

お世話になります。

遠隔地の事業所のACCESS2003のサポートが必要になりまして
システムの更新はCDの送付でやろうと思ってます。
近くであれば事業所へ行き外部データの取り込み(インポート)
でよいのですが、先方ではこれは敬遠されます。

そこでメニュー画面にコマンドボタン「テーブル取込」を配置して対処したいと
思います。

介護予防評価.MDBのテーブルを介護予防評価V2.MDBへコピーするため
両システムはデスクトップ上の「ほんわか」と呼ぶホルダに入っています。

次を実行すると
実行時エラー7874 オブジェクト'介護予防評価V2.MDB.口腔機能評価'は見つけることができませんとなります。

Private Sub テーブル取込_Click()
DoCmd.CopyObject , "介護予防評価.MDB.口腔機能評価", acTable, "介護予防評価V2.MDB.口腔機能評価"
End Sub

尚、コピーするテーブルは4つです。
宜しくお願い致します。

投稿日時 - 2016-01-06 00:47:52

QNo.9106774

困ってます

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

DoCmd.CopyObject は、自分のDB のオブジェクトを
自分、あるいは他の DB にコピーするものです。

他からインポートなら
DoCmd.TransferDatabase
を使います。

Help で確認するのが筋ですが
こちら例のが手っ取り早い。
http://tsware.jp/study/vol4/docmd_1.htm
・他のMDBファイルからテーブルをインポートする

投稿日時 - 2016-01-06 13:40:46

補足

ご回答有難うございます。
返事遅れて申し訳ありません。
DoCmd.CopyObject とDoCmd.TransferDatabase との違いが判らず質問しましたが、自分のやろうとしているのはDoCmd.TransferDatabase であることが理解できました。
次のコードで実行しましたが実行時エラー13(型が一致しません)になります。
DoCmd.TransferDatabase , acImport, "Microsoft Access", "c:\Users\it\Desktop\ほんわか\介護予防評価v0.accdb", acTable, "口腔機能評価"
尚、ACCESS2010でテストしています
デスクトップにあるフォルダ内の介護予防評価V0で介護予防評価V2内のテーブル(口腔機能評価)をインポートしようとしています。

投稿日時 - 2016-01-07 22:03:20

お礼

解決しました。
DoCmd.TransferDatabase acImport, "Microsoft Access", "c:\Users\it\Desktop\ほんわか\介護予防評価v0.accdb", , "口腔機能評価", "口腔機能評価"
これで解決です。
有難うございました。

投稿日時 - 2016-01-08 10:26:14

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

chayamati さんへ
テーブル名に1や2が勝手に付いてしまっていると言う事はないでしょうか。前のテーブルを削除できていないところにインポートすると名前が変わってきますので、ひょっとしたらと思います。私はこのような時には、削除クエリで空にしたテーブルにインポート定義をしてデータ追加するか、インポート元のテーブルをリンクテーブルにしておいて、それを元に追加クエリを動かします。テーブル名が変化しないので見失うことがありません。

投稿日時 - 2016-01-06 09:38:04

補足

ご回答有難うございます。
"介護予防評価V2.MDB"には、テーブルは存在しません。
コマンドボタンはこちらに配置しました。
因みに、ここへ空のテーブルをコピーして、再試行しましたが同じエラーメッセージです。
また何かお気づきのことがありましたら宜しくお願いします。

投稿日時 - 2016-01-06 11:09:26

-広告-
-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-