Ciao ragazzi, vi scrivo per chiedervi lumi su due problemi:
devo importare un file di testo (.txt) in una tabella Access 2000; ho creato la specifica di importazione e funziona tutto a meaviglia se eseguo l'importazione in Access. Il problema nasce quando provo a eseguirla da un'applicazione VB. Questo è il codice che ho scritto:
Private Sub mnuAcquirenti_Click()
On Error GoTo GestioneErr
Dim strFileAcqu As String
Dim cmd As New ADODB.Command
Dim rds As New ADODB.Recordset
strFileAcqu = "gae0kl03_lombardia.txt"
'Importo i dati dal file di testo in una tabella
AggiornamentoArchivi strFileAcqu, "ImportazioneAcquirenti", "Acquirenti da importare"
DoCmd.SetWarnings False ' disabilito il messaggio di conferma in Access
'Accodo i dati importati nella tabella Acquirenti
cmd.ActiveConnection = Connessione
cmd.CommandText = "[(P) AGGIORNAMENTO ACQUIRENTI]"
Set rds = cmd.Execute
DoCmd.SetWarnings True ' ripristino il messaggio di conferma in Access
MsgBox "Importazione Acquirenti completata con successo", vbOKOnly + vbInformation, "Aggiornamento Archivi"
Set cmd = Nothing
Exit Sub
GestioneErr:
MsgBox "Errore: " & Err.Number & " - " & Err.Description & vbCrLf & _
"L'importazione dei dati non è avvenuta correttamente.", vbOKOnly + vbCritical, "Aggiornamento Archivi"
Set cmd = Nothing
End Sub
Private Sub AggiornamentoArchivi(strFile As String, strSpecifica As String, strTabella As String)
On Error GoTo GestioneErr
Dim strDir As String
Dim fs As Scripting.FileSystemObject
strDir = "T:\Quote Latte\Software\Rql\Archivi da AGEA\" 'è comune a tutti i file
'Controllo: se la connessione è chiusa, la apro
If Connessione.State = adStateClosed Then
Connessione.Open "DSN=RQL_Write"
End If
Set fs = CreateObject("Scripting.FileSystemObject")
'Controllo se esiste il file da importare
If fs.FileExists(strDir & strFile) = False Then
MsgBox "Il file per l'aggiornamento archivi " & strFile & " non è presente nella directory " & strDir & "!", vbOKOnly + vbCritical, "Aggiornamento Archivi"
Exit Sub
Else
If MsgBox("Confermi l'importazione del file " & strFile & " ?", vbYesNo + vbQuestion, "Aggiornamento Archivi") = vbYes Then
DoCmd.TransferText acImportFixed, strSpecifica, strTabella, strDir & strFile, False
Else
MsgBox "Importazione dati annullata dall'utente", vbOKOnly + vbInformation, "Aggiornamento Archivi"
Set fs = Nothing
Exit Sub
End If
End If
Set fs = Nothing
Exit Sub
GestioneErr:
MsgBox "Errore: " & Err.Number & " - " & Err.Description & vbCrLf & _
"L'importazione dei dati non è avvenuta correttamente."
End Sub
Il primo problema che riscontro è che se Access è aperto l'importazione fatta con l'istruzione DoCmd.TransferText funziona, mentre se Access è chiuso la tabella non viene popolata;
il secondo problema sorge quando, dopo l'importazione del file di testo, cerco di eseguire la query di accodamento [(P) AGGIORNAMENTO ACQUIRENTI]. Sbaglio la sintassi??
Vi ringrazio per l'attenzione,
P.



Rispondi Citando


