2016-07-20 4 views
0

Windowsエクスプローラを自動的にループし、ウィークリーレポートテーブル(Wkly_Rprt)にファイルをインポートし、フォーマットを実行し、週に追加するためのADBがありますサマリーテーブル(Wkly_S_Rprt)を開き、Windowsエクスプローラから各ファイルを削除しますか?ファイル名は同じ形式で、日付が最後に変更されます。もしそうなら、私は多くの他の例を見てきましたが、それは何も見えません。WindowsエクスプローラからAccess DBへのcsvファイルの自動インポート

ご協力いただきありがとうございます。

+0

:ここで私は特定のフォルダからファイルをインポートするために使用するコードのサンプルですあなたの道に沿ってお手伝いします:http://stackoverflow.com/questions/20245053/running-microsoft-access-as-a-scheduled-task – Rene

+0

フォルダをループしないで、 'TblImportMenu'をループしてください。このテーブルにはどのようにデータが格納されますか?これらのファイルのうちインポートする必要があるファイルはどれですか?今はちょうど最初です。 – Parfait

+0

ファイルに関しては、Windowsエクスプローラフォルダにファイルが追加されるたびに、そのファイルがインポートされます。これは、2つまたは50のファイルを同時に扱うかどうかです。 TblImportMenuがどのように機能するかを見ていきます。 DoCmdの前または後に、どこに追加しますか? –

答えて

0

Scripting.FileSystemObjectを使用して、ファイルシステムのフォルダとファイルを反復処理します。たぶん、このトピックでは、あなたがサブフォルダのフォルダをスキャンし、あまりにも各サブフォルダにこのコードを実行することができます

Private sub ImportCSVs(TempImportFolder as String) 

    On Error Goto ImportCSVs_Err 
    Dim objFS As Object, objFolder As Object, objFiles As Object 

    Set objFS = CreateObject("Scripting.FileSystemObject") 
    Set objFolder = objFS.GetFolder((TempImportFolder)) 
    Set objFiles = objFolder.Files 
    For Each file In objFiles 
     DoCmd.TransferText acImportDelim, "[import_spec]", "Wkly_Rprt", TempImportFolder & "\" & file.Name, False 
     'Remove old data .... 
     'Append new data .... 
     'Delete file: 
     objFs.DeleteFile TempImportFolder & "\" & file.Name 
NextFile: 
    Next 
ImportCSVs_Exit: 
    Exit Sub 
ImportCSVs_Err: 
    'Handle Errors occurred do to file structure, and Resume NextFile 

End Sub 

sample code at this reference

+0

Wow marlan、これは素晴らしいですね! これを見て、私はかなり多くのものを取り除いて、削除して、それらのコメントを付けた部分を追加します。私はこの前提で正しいですか? –

+0

うん、それは私がやる方法だ。ファイルが正しい形式でない場合、つまり:not csv、または異なる形式の場合はcsvです。エラーが発生します。次のファイルを再開するだけです。** **注意:**古いデータを削除する*インポートするデータと関連付ける必要があります。以前の繰り返しでインポートしたばかりのデータを削除しないようにしてください;) – marlan

+0

こんにちはmarlan、 私はコードのビットを見て、どのように私の状況で働いた。それを実行しますが、On Current Eventプロシージャがボタンとして好きではありませんでした。プロシージャ宣言がイベントの説明と一致しません。イベントが発生したときにイベント名が実行されるため、OnOpenが原因であると考えられます。助言がありますか?そして恐らくこれについての愚かな質問は、このフォルダに "TempImportFolder"のようなフォルダのソースを置くかどうかを尋ねるプロンプトでしょうか? ありがとうございます。 –

関連する問題