使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
石田さん、ご教示ありがとうございます。
私のところでは、Access2007だけの環境で試すことはできませんので、2002との共存環境で何とかするしかない状況です。
それで、
・どのオブジェクト(テーブル、クエリ、フォーム、レポート等)をDocmd.CopyObjectしても同じ現象になるか
について、試してみました。
その結果、コマンドボタンを配してコードを走らせているフォームと、Docmd.CopyObjectの対象になっているテーブル1以外は出力できることが分かりました(コードを走らせているフォームは閉じてからでないとDocmd.CopyObjectの対象にならないと思ったため、テストの対象とはしていません)。
そこで、テーブル1に何らかの原因があるらしいと考え、エラーとならなかったテーブルとの違いを考えてみました。
他のテーブルはフィールド数が5程度でレコードも最大で500件、テーブル1は160フィールド×5000件超ですが、大きさは関係なさそうでした。
この他に、テーブル1にだけオートナンバー型のフィールドがありました。
この番号が飛び飛びになっていましたので、これが原因かもと考え、テーブル1の構造だけコピーしたNewテーブル1を作成し、標準モジュールに書いたコードでオートナンバー型のフィールド以外のテーブル1のデータをNewテーブル1に全て書き写した後、テーブル1を削除し、Newテーブル1の名前をテーブル1としてDocmd.CopyObjectをテストしましたら、今度はエラーとならず、正常に出力先にコピーできました。
オートナンバー型のフィールドのデータが飛び飛びとなっているだけで結果に差が出る原因は不明ですが、ともかく当初目指していたことができるようになったため、これにて解決といたします。
ありがとうございました。