Errore 91: Variabile non impostata

WorldWideWeb

Utente Attivo
6 Apr 2008
78
0
6
Calabria
Salve!
Ho scritto il seguente codice VB6

FORM 1:

Dim f1(1 To n) As Form
Dim rsA(1 To 10) As New ADODB.Recordset

.
.
.


Private SUb Form_Load()
.
.
.

cnA.CursorLocation = adUseClient

If cnA.state = adStateOpen Then cnA.Close
cnA.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;Data Source=" & strDBFile & ";" & _
"Jet OLEDB: Database Password=" & strDBPassword
.
.
.

End SUb



Private Sub menu_CLick()
.
.
.

Set f1(fn1) = New Form2 ' istanzio Form2

Set rsA(fn1) = New ADODB.Recordset ' istanzio Recordset

With rsA(fn1)
.ActiveConnection = cnA
.CursorLocation = adUseServer
.CursorType = adOpenKeyset
.LockType = adLockReadOnly
.Properties("IRowsetIdentity") = True
.Open "SELECT Pratiche.*, ... ", , , adCmdText
End With

f1(fn1).setRs rsA(fn1) ' passo il Recordset all'istanza di Form2
f1(fn1).Show
f1(fn1).SetFocus

End Sub



FORM 2:

Dim rsB As ADODB.Recordset
.
.
.


Private Sub Form_Load()
.
.
.

If cnA.state = adStateOpen Then cnA.Close
cnA.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;Data Source=" & strDBFile & ";" & _
"Jet OLEDB:Database Password=" & strDBPassword

If rsB.BOF And rsB.EOF Then
.
.
.

End SUb




Public Sub setRs(ByVal rs As ADODB.Recordset)
Set rsB = New ADODB.Recordset
Set rsB = rs
End Sub



Al click sul menu viene generato l'errore di run-time '91':
Variable oggetto o variabile nel blocco With non impostata

in corrispondenza di

If rsB.BOF And rsB.EOF Then

in Form2
 
Ultima modifica:

WorldWideWeb

Utente Attivo
6 Apr 2008
78
0
6
Calabria
Rettifico che l'errore citato era un errore che mi dava precedentemente.
In realtà l'errore generato ha codice 0 e nessuna descrizione!
Che tipo di errore è???
 

WorldWideWeb

Utente Attivo
6 Apr 2008
78
0
6
Calabria
Ho già scritto che è un errore che mi dava precedentemente. Poi ho commentato un pò di codice ridondante e non lo dava più!
Cmq mi sembra strano che sia un'assenza di errore, visto che me lo notifica! Di sicuro non fila tutto liscio
nel codice!
 

novizio

Nuovo Utente
15 Ott 2007
20
0
1
Magari è una banalità, tipo un
Codice:
MsgBox Err & " " & Error
che ti è rimasto da qualche parte e viene fuori anche ora che l'errore non c'è più.
Sono d'accordo.
Magari in un'altra routine o forse anche nell'altro form c'è l'istruzione On Error che rimane aperta.

Proverei a mettere l'istruzione On Error nella routine che genera l'errore

On Error goto 1000

... codice
...
Exit Sub

1000: Stop
Resume next

Con il tasto F8 si potrà vedere la riga che genera l'errore oppure si vedrà che errore è: Error(err)

Boh...