Ciao a tutti nel mio progetto ho una serie di query che eseguo una dietro l'altra,
ESEMPIO:
Set conn = New ADODB.Connection
conn.Open CN_REPORT
conn.Execute "DELETE FROM STAMPA_COSTI_FASI"
conn.Close
Set conn = Nothing
dove CN_REPORT è inizializzato nel form con la seguente procedura,
Percorso = App.Path & "\ini_DB_REPORT.txt" 'assegno alla variabile percorso il percorso per aprire il file NumFile = FreeFile 'Restituisce un valoreInteger che rappresenta il successivo numero di file disponibile da utilizzare con l'istruzione Open. Open Percorso For Input As #NumFile 'apro il file in modo che posso leggere i dati salvati Do While Not EOF(NumFile) 'ciclo che continua fino a quando non si è arrivati alla fine del file Input #NumFile, Percorso_REPORT 'legge la riga relativa del file Loop Close #NumFile 'chiudo il file
dove il percorso del DB è salvato in un file dove all'interno ho scritto E:\programma\db.mdb
il problema sta che io eseguo le query una dietro l'altra poi arriva ad un certo punto e mi da il seguente errore:
Errore di run-time '-2147467259 (80004005)':
"C:\programma\db.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.
infatti dentro il file il percorso è "E:\programma\db.mdb",
se eseguo il progetto in modalita passo a passo e visualizzo la variabile cn_report e conn dentro il controllo immediato, vedo che il percorso che linka è in E e non in C, percio fino all'istruzione conn.Open CN_REPORT le variabili sono giuste poi compilo SQL e poi qnd eseguo la query rs.Open SQL, conn mi dà l'errore!!!
la query funziona, infatti l'ho fatta con access e non mi da nessn errore!
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open CN_REPORT
SQL = "SELECT COSTO_FASI.n_commessa, MACCHINE.descr, Sum(COSTO_FASI.durata_mac) AS SommaDidurata_mac, Sum(COSTO_FASI.costo_altri) AS SommaDicosto_altri, Sum(COSTO_FASI.costo_dir) AS SommaDicosto_dir, Sum(COSTO_FASI.costo_ind) AS SommaDicosto_ind, Sum(COSTO_FASI.costo_mac) AS SommaDicosto_mac, Sum(COSTO_FASI.durata_mac_h) AS SommaDidurata_mac_h FROM COSTO_FASI INNER JOIN MACCHINE ON COSTO_FASI.n_mac = MACCHINE.Cod_mac GROUP BY COSTO_FASI.n_commessa, MACCHINE.descr;"
rs.Open SQL, conn 'QUA MI DA ERRORE
While Not rs.EOF
indice1 = indice1 + 1
ReDim Preserve arr(indice1)
arr(indice1).N_COMM = rs.Fields(0).Value
arr(indice1).c_mac = rs.Fields(1).Value
arr(indice1).durata_mac_h = rs.Fields(2).Value
arr(indice1).h_tot_altri = rs.Fields(3).Value
arr(indice1).h_tot_diretti = rs.Fields(4).Value
arr(indice1).h_tot_indiretti = rs.Fields(5).Value
arr(indice1).durata_mac = rs.Fields(7).Value
tempo = arr(indice1).durata_mac
Ore = Int(tempo \ 3600)
Minuti = (tempo - Ore * 3600) \ 60
Secondi = tempo Mod 60
arr(indice1).durata_mac_h = Ore & ":" & Minuti & ":" & Secondi
rs.MoveNext
Wend
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing
![]()
come è possibile che dopo una serie di query che hanno sempre funzionato un bel giorno mi deve far impazzire cosi???
I misteri di vb!!!
Accetto qls aiuto possibile!!!
grazie
![]()