Sub DoImport()
Dim fil As Object
Const FldPath As String= "C:\Users\paul.coan\Desktop\HistoricalData"
Const DestTable As String = "imptable"
MakeImportTable
For Each fil In CreateObject("Scripting.FileSystemObject").GetFolder(FldPath).Files
If UCase(Right(fil.Name, 3)) = "CSV" Then
importit = CurrentDb.OpenRecordset("select filename from ImportLog where filename='" & fil.Path & "'").EOF
If importit Then
DoCmd.TransferText acImportDelim, , DestTable, fil.Path, True
CurrentDb.Execute ("insert into ImportLog (filename,imported) values ('" & fil.Path & "',#" & Format(Now, "dd-mmm-yyyy hh:nn:ss") & "#)")
MsgBox "'" & fil.Path & "' imported ok."
Else
MsgBox "'" & fil.Path & "' was not imported"
End If
End If
Next
MsgBox "done"
End Sub
Private Sub MakeImportTable()
On Error Resume Next
RefreshDatabaseWindow
CurrentDb.Execute "create table ImportLog"
CurrentDb.Execute "alter table ImportLog add filename text 255"
CurrentDb.Execute "alter table ImportLog add imported datetime"
RefreshDatabaseWindow
End Sub