Ten eerste ik heb niet zo erg veel verstand van VB6 maar ik moet dit even werkend krijgen. Ik heb twee stukken code de eerste een stuk wat met de database babbelt.
En de tweede die deze function aanroept
Nu lukt dit allemaal goed functie enz maar zodra hij bij If Not sqldata.EOF Then komt geeft hij de volgende melding "object invalid or no longer set" Ik heb al gezocht met google en hier maar kon weinig interesants vinden.
Ik wil dus de recordset die uit de function komt gebruiken in me programma. Maar dat laat hij niet toe. Doe ik iets stoms? of kan dit niet?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Public Function ConnectionObjectX(sqlstring As String, dsn As String, uid As String, db As String, Optional pwd As String) As Recordset
Dim wrkODBC As Workspace
Dim conPubs As Connection
Dim myRS As Recordset
Dim users As String
Set wrkODBC = CreateWorkspace("NewODBCWorkspace", _
"admin", "", dbUseODBC)
Set conPubs = wrkODBC.OpenConnection("Connection1", , , _
"ODBC;DATABASE=" + db + ";UID=" + uid + ";PWD=" + pwd + ";DSN=" + dsn)
Set myRS = conPubs.OpenRecordset(sqlstring)
Set ConnectionObjectX = myRS
conPubs.Close
wrkODBC.Close
End Function |
En de tweede die deze function aanroept
code:
1
2
3
4
5
6
7
8
| Set sqldata = ConnectionObjectX(query, "distru", "root", "distru2")
If Not sqldata.EOF Then
While Not sqldata.EOF
MsgBox sqldata!gebruikersnaam
sqldata.MoveNext
Wend
End If |
Nu lukt dit allemaal goed functie enz maar zodra hij bij If Not sqldata.EOF Then komt geeft hij de volgende melding "object invalid or no longer set" Ik heb al gezocht met google en hier maar kon weinig interesants vinden.
Ik wil dus de recordset die uit de function komt gebruiken in me programma. Maar dat laat hij niet toe. Doe ik iets stoms? of kan dit niet?