|
hatena さん、こんにちは。
解説とご指摘ありがとうございます。
早速、ご指摘の箇所を修正しましたが、どうもうまくいきません。
4点、質問をさせてください。
私は、
OS:Microsoft WindowsXP Home Edition
バージョン:5.1.2600 Service Pack2
Office 2003:Access2003
を使用しています。
ご指摘の箇所ですが、
>
>> DoCmd.RunMacro "tacifimport_delete"
>>' テーブルの初期化
>>
>> DoCmd.RunMacro "cif_import"
>>' テーブルの作成(インポートです)
>
>RunMacro(マクロ)でクエリを実行する場合非同期ですので、
>実行終了を待たずに、次のコードが実行されます。
>ですので、テーブルの初期化が終わる前に、
>次のインポートが実行される可能性があります。
>
>ここは、
>
>CurrentDB.Excute "削除クエリ名"
を参考にして
CurrentDb.Excute "qutacifimport_delete"としました。
結果は、
「コンパイルエラー:メソッドまたはデータメンバが見つかりません。」
となります。(クエリ名は確認しました)
VBEditorの画面へ遷移して、CurrentDb.Excuteの「.Excute」の文字列
が反転している状態になります。
尚、クエリの単独実行は正常に動きました。
試しに、
CurrentDb.Excute "Delete * From tacifimport"としましたが、
結果は同じでした。
【質問1】
Accessの環境定義みたいなもに問題があるのでしょうか?
例えば、ODBCソースみたいのものですが?
(ODBCの意味も分からずに質問して申し訳ありません。)
【質問2】
CurrentDb.Excuteの代わりに
DoCmd.RunSQL "Delete * From tacifimport"を試みて、成功はしましたが、
どうしても、「CurrentDb.Excute」を克服したいと思っています。
ご指摘をお願いします。
【質問3】
>Docmd.TransferText acLinkDelim, "インポート定義","テーブル名","ファイル名"
>
>というようにVBAで記述した方が安全でしょう。
DoCmd.TransferText acLinkDelim, "select_import", "tacifimport", "c:\sinsystem_mdb\data\select_import.txt"
は成功しましたが、"tacifimport"のテーブルテキストリンク"tacifimport1"
が作成されてしまいます。
本当は"tacifimport"へ上書きしたいのですが。
「作成されてしまいます・・」というよりは、私が未熟でそういう仕組みになっているのですが。
【質問4】
テーブルの初期化にDeleteを使っていますが、本当は「ModifyTable」のようなものを使いたいのですが、
関数?,コマンド?が分かりません。
>
以上ですが、なにとぞよろしくお願いします。
|
|