Akery
2024-11-04 18:30:28 UTC
Buonasera,
come posso importare tramite vba dei file csv?
i file hanno come delimitatore di campo il tab e non hanno nomi di
campo, stavo arrancando qualcosa con chatgpt ma non trovo la soluzione
Sub CollegaCSVInCartella()
Dim percorsoCartella As String
Dim nomeFile As String
Dim nomeTabella As String
Dim contatore As Integer
Dim connessione As String
' Specifica il percorso della cartella contenente i file CSV
percorsoCartella = currentproject.path & "\"
' Definisce la stringa di connessione specifica
connessione =
"Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1200;ACCDB=YES;"
' Cerca il primo file CSV nella cartella
nomeFile = Dir(percorsoCartella & "\*.csv")
' Inizializza il contatore
contatore = 1
' Ciclo per ogni file CSV trovato
Do While nomeFile <> ""
' Genera il nome della tabella in base al nome del file
nomeTabella = "CSV_" & contatore
' Crea il collegamento al file CSV specificando i parametri
DoCmd.TransferText _
TransferType:=acLinkDelim, _
TableName:=nomeTabella, _
FileName:=percorsoCartella & "\" & nomeFile, _
HasFieldNames:=False, _
SpecificationName:=connessione
' Passa al prossimo file CSV nella cartella
nomeFile = Dir()
' Incrementa il contatore per creare un nome di tabella unico
contatore = contatore + 1
Loop
MsgBox "Collegamento dei file CSV completato!", vbInformation
End Sub
Akery
come posso importare tramite vba dei file csv?
i file hanno come delimitatore di campo il tab e non hanno nomi di
campo, stavo arrancando qualcosa con chatgpt ma non trovo la soluzione
Sub CollegaCSVInCartella()
Dim percorsoCartella As String
Dim nomeFile As String
Dim nomeTabella As String
Dim contatore As Integer
Dim connessione As String
' Specifica il percorso della cartella contenente i file CSV
percorsoCartella = currentproject.path & "\"
' Definisce la stringa di connessione specifica
connessione =
"Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1200;ACCDB=YES;"
' Cerca il primo file CSV nella cartella
nomeFile = Dir(percorsoCartella & "\*.csv")
' Inizializza il contatore
contatore = 1
' Ciclo per ogni file CSV trovato
Do While nomeFile <> ""
' Genera il nome della tabella in base al nome del file
nomeTabella = "CSV_" & contatore
' Crea il collegamento al file CSV specificando i parametri
DoCmd.TransferText _
TransferType:=acLinkDelim, _
TableName:=nomeTabella, _
FileName:=percorsoCartella & "\" & nomeFile, _
HasFieldNames:=False, _
SpecificationName:=connessione
' Passa al prossimo file CSV nella cartella
nomeFile = Dir()
' Incrementa il contatore per creare un nome di tabella unico
contatore = contatore + 1
Loop
MsgBox "Collegamento dei file CSV completato!", vbInformation
End Sub
Akery