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
codice:
Dim MyDBAnno As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " & pathMDb & nameMdbAnno)
eseguo poi un ciclo in cui cambio il valore della variabile nameMbdAnno
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
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."

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