Estoy tratando de importar varios archivos csv, todos en el mismo directorio en MS Access 2016.
Este es el módulo VBA que tengo actualmente, gracias a physics2010 , pero no funciona. ¿Algun consejo?
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:\Users\xxx"
' Replace tablename with the real name of the table into which
' the data are to be imported
strTable = "Table1"
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
MsgBox "done"
End Function
Escribiste "no funciona": ¿recibes un mensaje de error? ¿Intentaste depurar el código para ver dónde falla?
—
Atzmon
Simplemente no hace nada en esta etapa. Debo admitir que soy nuevo en Access, pero tengo algo de experiencia en codificación. Parece que nunca entra en el bucle While, como si la longitud de strFile nunca fuera mayor que 1. Eso es extraño, porque tengo varios archivos csv en el directorio.
—
Adre
Intenta cambiar
—
Atzmon el
strPath = "C:\Users\xxx"
a strPath = "C:\Users\xxx\"
.