Eu estou retribuindo à comunidade depois de perder quatro horas do meu tempo resolvendo um problema específico, mas respondendo à sua pergunta ao mesmo tempo. Todos os outros códigos foram reunidos de outros recursos. Esse código usará a função transfertext para extrair vários csv de um diretório em suas próprias tabelas separadas com o FILENAME como o nome da tabela. A execução de arquivos com o mesmo nome de arquivo permitirá anexar a uma tabela existente (útil quando você tiver 30 arquivos com nomes diferentes, mas manterá o mesmo nome de mês a mês). Acesse 2010
Onde eu tive problemas: as tabelas daninhas não seriam anexadas ao executar o mesmo arquivo nomeado . Ele sempre criaria uma nova tabela e acrescentaria um 1 2 3 etc. whatever_csv whatever_csv1 whatever_csv2. *** Você deve retirar o período do nome do arquivo. Mesmo que o acesso o altere automaticamente para um sublinhado quando ele cria a tabela, ele vê que o nome do arquivo e a tabela são nomeados de forma diferente. Isso se aplica a qualquer caractere não permitido pelo Access.
Trunca os quatro últimos do nome do arquivo para remover .csv usando strTable = Esquerda (strFile, Len (strFile) - 4)
***** Aqui está a resposta para sua pergunta *****
Option Compare Database
Option Explicit
Function DoImport()
Dim strPathFile As String
Dim strFile As String
Dim strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
' Change this next line to True if the first row in CSV worksheet
' has field names
blnHasFieldNames = True
' Replace C:\Documents\ with the real path to the folder that
' contains the CSV files
strPath = "C:\Documents\"
' Replace tablename with the real name of the table into which
' the data are to be imported
strFile = Dir(strPath & "*.csv")
Do While Len(strFile) > 0
strTable = Left(strFile, Len(strFile) - 4)
strPathFile = strPath & strFile
DoCmd.TransferText acImportDelim, , strTable, strPathFile, blnHasFieldNames
' Uncomment out the next code step if you want to delete the
' EXCEL file after it's been imported
' Kill strPathFile
strFile = Dir()
Loop
End Function