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:
codice:
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
Mi restituisce l'errore sulla riga
codice:
RsClienti.Open qClienti, Cn, adOpenDynamic, adLockOptimistic
Spero non sia troppo incasinato.
Mi fate sapere?
Grazie.