Ciao.
Quando attivo un form (MDIchild) funziona tutto regolarmente, anche chiudendo(unload) e riaprendo(load) il form di seguito, ma se clicco su una flexgrid presente nel form, poi chiudo il form stesso e lo riapro, mi da l'errore:
"Errore di run-time 3265. Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto"
Questo è il codice:
Mi restituisce l'errore sulla rigacodice:Public Cn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim RsClienti As New ADODB.Recordset Dim q As String Dim qClienti As String Public IDFatt As Long Dim IDCli As Long Dim msg As Long Private Sub cmdChiudi_Click() Unload Me End Sub Private Sub FlexGridFatture_Click() If (RsClienti.State = adStateOpen) Then RsClienti.Close qClienti = "SELECT * FROM Clienti,FatturaTestata WHERE Clienti.IDCliente = FatturaTestata.IDCliente" RsClienti.Open qClienti, Cn, adOpenDynamic, adLockBatchOptimistic 'Filtro ulteriormente RS per prendere solo i dati relativi alla fattura selez. RsClienti.Filter = "IDFattura=" & IDFatt ScriviCampi Else qClienti = "SELECT * FROM Clienti,FatturaTestata WHERE Clienti.IDCliente = FatturaTestata.IDCliente" RsClienti.Open qClienti, Cn, adOpenDynamic, adLockBatchOptimistic RsClienti.Filter = "IDFattura=" & IDFatt ScriviCampi End If SSTabFatturazione.Tab = 1 RsClienti.Close End Sub Private Sub Form_Load() If Not (Cn.State = adStateOpen) Then Cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=InfoManager.mdb;" Cn.CursorLocation = adUseClient End If q = "SELECT * FROM FatturaTestata" Rs.Open q, Cn, adOpenDynamic, adLockOptimistic Set FlexGridFatture.DataSource = Rs FlexGridFatture.Refresh cmbPagamento.AddItem ("Contanti") cmbPagamento.AddItem ("Assegno") cmbPagamento.AddItem ("Carta di Credito") 'Carico lista clienti nella ComboBox. If RsClienti.State = adStateOpen Then RsClienti.Close End If qClienti = "SELECT * FROM Clienti" RsClienti.Open qClienti, Cn, adOpenDynamic, adLockOptimistic With RsClienti .MoveFirst While Not .EOF cmbCliente.AddItem !CognomeNome cmbCliente.ItemData(cmbCliente.NewIndex) = RsClienti("IDCliente").Value msg = msg + 1 .MoveNext Wend End With End Sub Private Sub Form_Unload(Cancel As Integer) While Not msg = 0 cmbCliente.RemoveItem (All) msg = msg - 1 Wend If RsClienti.State = adStateOpen Then RsClienti.Close End If If Rs.State = adStateOpen Then Rs.Close End If If Cn.State = adStateOpen Then Cn.Close End If End Sub
Spero non sia troppo incasinato.codice:RsClienti.Open qClienti, Cn, adOpenDynamic, adLockOptimistic
Mi fate sapere?
Grazie.

Rispondi quotando
