• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessの DoCmd.CopyObject)

accessのDoCmd.CopyObjectの使い方とエラー対処法

このQ&Aのポイント
  • 遠隔地の事業所のACCESS2003のサポートが必要になった場合、CDの送付ではなくDoCmd.CopyObjectを使用してデータの取り込みを行う方法があります。
  • しかし、実行時エラー7874が発生し、オブジェクトが見つからないというエラーメッセージが表示されることがあります。
  • このエラーを解消するためには、コピーするテーブルの名前が正確であることを確認し、テーブルのパスも正しく指定する必要があります。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.2

DoCmd.CopyObject は、自分のDB のオブジェクトを 自分、あるいは他の DB にコピーするものです。 他からインポートなら DoCmd.TransferDatabase を使います。 Help で確認するのが筋ですが こちら例のが手っ取り早い。 http://tsware.jp/study/vol4/docmd_1.htm ・他のMDBファイルからテーブルをインポートする

chayamati
質問者

お礼

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

chayamati
質問者

補足

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

その他の回答 (1)

  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

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

chayamati
質問者

補足

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