Hola
Spero di riuscire a farmi capire.
Dovrei intervenire sulla struttura di diversi database la cui struttura è identica ma riguardano anni diversi e quindi nomi diversi.
Ho creato alcune routine in modo da poter ciclare il lavoro.
Nella dichiarazione iniziale inserisco questa riga in modo sia valida in tutto il form
eseguo poi un ciclo in cui cambio il valore della variabile nameMbdAnnocodice:Dim MyDBAnno As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & pathMDb & nameMdbAnno)
Nel momento in cui arrivo ad eseguire le routine per la modifica struttura ottengo l' errore: "ExecuteScalar richiede una oggetto Connection aperto e disponibile. Lo stato attuale della connessione è chiuso."codice:For X = 2003 To Year(Now) nameMdbAnno = "anno_" & Trim(Str(X)) & ".MDB" Dim MyDBAnno As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & pathMDb & nameMdbAnno) If File.Exists(pathMDb & nameMdbAnno) Then MyDBAnno.Open() '..... routine per modifica struttura MyDBAnno.Close() End If Next X
La cosa strana è che se non vado a cambiare la variabile nameMdbAnno (che rimane quella dell'anno attuale dichiarata a livello globale di progetto) il tutto funziona.
Avete qualche suggerimento?
Grazie

Rispondi quotando