Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


304 / 9994 ←次へ | 前へ→

【13004】Re:ファイル取り込み
回答  亀マスター  - 16/5/7(土) 21:11 -

引用なし
パスワード
   >  DoCmd.DeleteObject acTable, strac 'テーブルを削除します。
原因はおそらくここですね。
この手前の行で削除するテーブルの名前を指定していますが、
それが見つからないためにエラーとなるのでしょう。

とりあえずの解決手段としては、エクセルファイルの名前を
元に戻した上で、アクセスの方に T_Sample&POP という名前の
テーブルを作成するといいでしょう。テーブルは名前さえ
合っていれば中身はどうでもいいです。

なんで今まで大丈夫だったのにこうなったのかというと、
一度エクセルファイルの名前を変えてしまった際、プログラムの中で
エクセルファイルを取り込もうとしたところでエラーが起こったが、
その前にアクセスのテーブルが削除されており、その後、新しいテーブルが
作成されておらず、次回プログラム起動時にありもしないテーブルを
削除しようとしたためエラーになったということです。

ところでこのプログラム、作成者でないあなたに言っても
仕方のないことですが、システムとして使い物にならないレベルですね。

取り込み対象のエクセルファイルの名前はおろか、その保存場所まで
プログラムそのものに指定してあるため、エクセルファイルの場所を
動かしても今回と同じエラーが起こるでしょう。また、エラー処理が
甘いので、エクセルファイルが見つからなかったり、データ構造が
いじられたりしていると、後で元に戻しても、正常に動かなくなる恐れが
あります(今回はまさにこのパターンでしょう)。

予想するに、元々の制作者もあまりAccessやVBAに詳しくないのでしょう。
エクセルデータを取り込むサンプルプログラムを丸ごとコピーして、
取り込むファイルのファイル名だけ修正したのでしょう。
(元ネタのプログラムはネットですぐに見つかりました)

もしも今後、あなたが勉強してプログラムを修正されるのであれば、
取り込む対象のエクセルファイルをユーザーが指定出来るようにしたり、
テーブル削除をエクセルファイルの存在有無の確認後にするなど
することをお勧めします。

475 hits

【12996】ファイル取り込み M・A・D 16/5/1(日) 15:22 質問[未読]
【13000】Re:ファイル取り込み M・A・D 16/5/4(水) 20:16 発言[未読]
【13002】Re:ファイル取り込み 亀マスター 16/5/5(木) 23:08 回答[未読]
【13003】Re:ファイル取り込み M・A・D 16/5/7(土) 2:21 発言[未読]
【13004】Re:ファイル取り込み 亀マスター 16/5/7(土) 21:11 回答[未読]
【13005】Re:ファイル取り込み M・A・D 16/5/8(日) 2:36 発言[未読]
【13006】Re:ファイル取り込み 亀マスター 16/5/8(日) 5:47 回答[未読]
【13007】Re:ファイル取り込み M・A・D 16/5/8(日) 22:51 発言[未読]
【13008】Re:ファイル取り込み 亀マスター 16/5/9(月) 0:27 回答[未読]
【13009】Re:ファイル取り込み M・A・D 16/5/9(月) 22:45 お礼[未読]

304 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free