|
||||
|
|
#1 (permalink) |
|
Nuovo della community ![]()
6 Messaggi
![]() |
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. |
|
|
|
|
|
#5 (permalink) |
|
Nuovo della community ![]()
6 Messaggi
![]() |
sì certo che ho referenziato la Microsoft Access 11.0 Object Library perché il db sottostante all'applicazione VB è in Access. Ti spiego, questa applicazione non l'ho sviluppata io dall'inizio, sono subentrato in seguito e me ne hanno affidato la manutenzione evolutiva, per cui ho pensato di cambiare il minor numero di cose possibile
|
|
|
|
|
|
#6 (permalink) | |
|
Moderatore Globale ![]() ![]()
6,640 Messaggi
![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
Anzi ... dato che stai lavorando con ADO, continua ad usare ADO e il suo modello ad oggetti e non referenziare Access. Mi viene un dubbio ... nel file Access, oltre ai dati veri e propri, ci sta del codice o query ...?
__________________
Antonio GIULIANA |
|
|
|
|
|
|
#8 (permalink) | |
|
Moderatore Globale ![]() ![]()
6,640 Messaggi
![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
Le query saranno richiamate dal tuo codice con gli oggetti ADO *senza* avere la necessità di referenziare Access (quindi anche di aprirlo ...). E cosa piu' importante, potrai installare il tuo programma in un PC in cui Access non è installato in quanto l'accesso avverrà solamente tramite la libreria ADO e Jet ...
__________________
Antonio GIULIANA |
|
|
|
|
|
|
#9 (permalink) |
|
Nuovo della community ![]()
6 Messaggi
![]() |
D'accordo, ti ringrazio. In effetti così posso fare a meno del riferimento ad Access, però non sono ancora riuscito a trovare l'equivalente in ADO dell'istruzione TransferText per importare il file di testo nella tabella.
Qualche suggerimento? Ultima modifica di princepao : 26-10-2005 a 10:47. |
|
|
|
![]() |
«
query di inserimento
|
click
»
| Strumenti della discussione | |
| Modalità di visualizzazione | |
|
|
Discussioni simili
|
||||
| Discussione | Ha iniziato questa discussione | Forum | Risposte | Ultimo messaggio |
| Problema con query di Access | Damians | MS Office, Access, VBA | 2 | 28-07-2006 13:03 |
| Query da Access 2003 | saby68 | Visual Basic .Net | 1 | 08-01-2006 15:03 |
| Esecuzione Query Da Visual Basic | nodux | MS Office, Access, VBA | 3 | 12-11-2005 14:22 |
| access 2000 - errore con query a campi in | smsmaster | Microsoft Windows | 1 | 31-10-2003 15:16 |
Tutti gli orari sono GMT +1. Attualmente sono le 04:37.










Modalità lineare


