Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ciao,
prova in questo modo:
1) effettua una importazione manuale di un file Csv salvando le specifiche di importazione.
Nel mio esempio le ho denominate "Specifica di importazione" come vedrai in seguito nel codice Vba.
2) Crea un modulo incollando il seguente codice Vba:
Option Compare Database
Option Explicit
Function fImportaFile()
Dim fDialog As Office.FileDialog
Dim varFile As Variant
Dim nomeFile As String
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.Title = "Selezionare il file da importare"
.Filters.Clear
.Filters.Add "CSV", "*.CSV"
.Filters.Add "Tutti i files", "*.*"
If .Show = True Then
For Each varFile In .SelectedItems
nomeFile = varFile
Next
End If
End With
' Elimino la tabella temporanea prima di importare il file csv
DoCmd.RunSQL "Drop Table Importato"
DoCmd.TransferText acImportDelim, "Specifica di importazione", "Importato", nomeFile, False
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryAccodaImportato", acViewNormal
DoCmd.SetWarnings True
End Function
Il codice ti consente di selezionare il file da importare. Utilizzando le specifiche di importazione di cui al punto 1 carica la tabella temporanea denominata Importato preventivamente eliminata.
3) Crea una query d i accodamento del tipo seguente:
INSERT INTO MOVCON ( Protocollo, ANNREG, NUMREG, SOCIETA, SIGLA, ANNO, Incassi, Uscite, [DESC], Data, DATREG, ANNOCOMPETENZA, CAUSALE )
SELECT Importato.Campo1, Importato.Campo2, Importato.Campo3, Importato.Campo4, Importato.Campo5, Importato.Campo6, Importato.Campo7, Importato.Campo8, Importato.Campo9, Importato.Campo10, Importato.Campo11, Importato.Campo12, Importato.Campo13
FROM Importato LEFT JOIN MOVCON ON Importato.Campo1 = MOVCON.Protocollo
WHERE (((MOVCON.Protocollo) Is Null));
Dal codice puoi vedere che ho chiamato la queryqryAccodaImportato
Facci sapere se hai problemi e se ho dimenticato io qualcosa :-)
Ciao Mimmo