質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.94%

AccessのVBAによるインポートについて

解決済

回答 1

投稿 編集

  • 評価 0
  • クリップ 0
  • VIEW 11K+

score 200

TransferSpreadsheetでエクスポートしたExcelファイルをそのまま
TransferSpreadsheetで再度インポートしたとき、
インポートされたテーブル内容の差異は何もないのですが
「名前の自動修正保存エラー」テーブルが作成され、
エラー原因として「オブジェクトを保存できませんでした」とレコードが出来ます。
テーブルの内容に差異はないのですが、これが出来ることが気持ちわるいので
原因を探りたいのですが調べきることが出来ず。。。
何が原因がわかる方おられますでしょうか。

エクスポート、インポートのロジックはそれぞれ以下になります。
単純にボタンを押したらそれらを実行しているだけで、
エクスポートしたExcelの内容を編集することはもちろん、Excelを開く事すらせずにインポートしています。

エクスポート
DoCmd.TransferSpreadsheet acExport, 10, テーブル名, パス, True, シート名

インポート
DoCmd.TransferSpreadsheet acImport, 10, テーブル名, パス, True, シート名

-----追記----
テーブルは121項目あり、
全てテキスト型でフィールドサイズは255です。

  • クリップを取り消します

  • 質問の評価を上げたことを取り消します

  • 質問の評価を下げたことを取り消します

質問への追記・修正、ベストアンサー選択の依頼

回答 1

checkベストアンサー

0

「名前の自動修正保存エラー」テーブルが作成され、

「名前の自動修正オプション」がオンになっていたら、オフにしてみたらどうでしょうか。

名前の自動修正保存エラー : 初心者のためのOffice講座-SupportingBlog1

名前の自動修正は便利なんですが、想定外で修正されたり、されなかったりで、かえっでバグの原因になることがなるので、私の場合は基本、オフにしています。

補足追記

下記のリンク先の、「名前の自動修正を使用する必要がない場合」にも目を通しておくといいでしょう。
名前の自動修正オプションを設定する - Access

投稿

編集

hatena19

VBA総合1位

score 21626

  • syncrock

    syncrock

    2017/08/07 15:56

    回答ありがとうございます。
    オフにすればテーブルは作成されませんでした。
    が、何かおかしいために作成されたのではないかと思っているのですが、
    登録したデータに問題がなかったとしてもオフして良いものなのでしょうか?
  • hatena19

    hatena19

    2017/08/07 16:49

    「名前の自動修正オプション」は、データベースの設計段階では有用ですが、設計後の運用時には無用のものです。
    テーブル名を変更すると、それを使っているクエリやフォームのレコードソース等の該当部分も変更してくれるの便利機能ではありますが、完璧なものではないので、回答にも書いたように不具合の原因になったりもします。
    運用時にはオフにしておいたほうがいいと思います。
  • syncrock

    syncrock

    2017/08/07 17:02

    補足ありがとうございます。
    出るのが悪っていうわけではないのですね。
    どうしてもエラーというのに敏感なってますね。。。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.94%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る