Scusami X, sono nel pallone, non ci capisco più nulla, pensavo di averci capito qualcosa ma sono nel caos mentale più totale. Un utente del forum ha stravolto completamente il mio progetto in quanto mi sconsiglia l'utilizzo del dataEnvironment, ed io ho accettato il suo consiglio in quanto debbo assolutamente uscire fuori da questo blocco.
allora ho itrapreso questa nuova strada ma ci sono i soliti intoppi di percorso - Adesso mi chiedo, che motivo ha Marko per dirmi che non conviene usade il DE?????
Lui mi ha proposto una soluzione di questo tipo, che usa lo stesso Provider:
allora faccio le dichiarazioni:
codice:
Dim Conn1 As New ADODB.Connection
Dim Conn2 As New ADODB.Connection
Dim Conn3 As New ADODB.Connection
Dim Rs1 As New ADODB.Recordset
Dim Rs2 As New ADODB.Recordset
Dim Rs3 As New ADODB.Recordset
'CONTROLLO SE LE CONNESSIONI SONO GIà APERTE
If Conn1.State <> adStateClosed Then
Conn1.Close
End If
If Conn2.State <> adStateClosed Then
Conn2.Close
End If
If Conn3.State <> adStateClosed Then
Conn3.Close
End If
'APRO LE CONNESSIONI:
Conn1.Open "provider =microsoft.jet.oledb.4.0;" & "data source =
_ " & "c:\progetto\1.mdb" & ";"
Conn2.Open "provider =microsoft.jet.oledb.4.0;" & "data source =
_ " & "c:\progetto\2.mdb" & ";"
Conn3.Open "provider =microsoft.jet.oledb.4.0;" & "data source =
_ " & "c:\progetto\3.mdb" & ";"
'controllo che le recordset non siano già aperte,
'altrimenti le chiudo:
If Rs1.State <> adStateClosed Then
Rs1.Close
End If
If Rs2.State <> adStateClosed Then
Rs2.Close
End If
If Rs3.State <> adStateClosed Then
Rs3.Close
End If
' RENDO ATTIVI I RECORDSET
Rs1.Open "select * from definizione_paese", Conn1
Rs2.Open "select * from definizione_paese", Conn2
Rs3.Open "select * from definizione_paese", Conn3
'FACCIO TUTTE LE OPERAZIONI NECESSARIE
'MA QUI VIENE IL BELLO:
'ho tentato di aggiungere un nuovo record ma il debug mi dice che :
'IL SET DI RECORD CORRENTE NON SUPPORTA L'AGGIORNAMENTO -
'POTREBBE 'TRATTARSI DI UNA LIMITAZIONE DEL PROVIDER O DEL
'TIPO DI BLOCCO SELEZIONATO
'LA RIGA DI CODICE CHE HO DIGITATO è:
Rs1.AddNew
'Ovviamente non ho provato altro, tipo movelast
'movefirst update delete etc etc.
'quando ho finito chiudo prima i recordset
'(controllando che non lo siano già!!!)
If Rs1.State <> adStateClosed Then
Rs1.Close
End If
If Rs2.State <> adStateClosed Then
Rs2.Close
End If
If Rs3.State <> adStateClosed Then
Rs3.Close
End If
'poi, se non devi aprire più recordset chiudi le
'connessioni (sempre controllando che non lo siano già!!!)
If Conn1.State <> adStateClosed Then
Conn1.Close
End If
If Conn2.State <> adStateClosed Then
Conn2.Close
End If
If Conn3.State <> adStateClosed Then
Conn3.Close
End If
Ora vorrei solo un consiglio: cosa uso, DE o la soluzione
consigliata da Marko????