[VB + ADO] foutje...

Pagina: 1
Acties:

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Topicstarter
hallo mensen

Ik ben bezig geweest wat db dingetjes uit te vogelen en mij word overal weer aangeraden om ipv DAO ADO (microsoft en hun afkortingen grr.. :7) te gaan gebruiken, dus hier zit ik dan.

Ik probeer te verbinden naar een access db en gebruik de volgende code ervoor:
code:
1
2
Set db = New ADODB.Connection
db.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\db.mdb;Pwd=aap;"

als ik vervolgens probeer om een recordset te openen..
code:
1
2
Set rs = New ADODB.recordset
rs.Open "SELECT user, pass FROM user"

krijg ik de foutmelding "operation is not allowed on a object referencing a closed or invalid connection"

Kan iemand me verder helpen?

Alvast bedankt

Verwijderd

code:
1
2
Set rs = New ADODB.recordset
rs.Open "SELECT user, pass FROM user",db

Je was vergeten je database connectie mee te geven

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Topicstarter
damn :(

ik was dus deze tutorial aan het doorlezen en ik maar proberen en proberen :'(

Verwijderd

http://www.w3schools.com/ado/ deze is wel redelijk.

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Topicstarter
Ik heb nog een vraagje en wou er niet echt een nieuwe topic voor openen dus doe het maar ff hier: (weer een lokale access database die geopend word vanuit Visual Basic (standalone))

code voor het openen van een db:
code:
1
2
3
4
Set db = New ADODB.Connection
    
db.CursorLocation = adUseClient
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & LOC_DB & "db.mdb;"

code voor het openen van een recordset:
code:
1
2
3
4
5
6
Set rs = New ADODB.Recordset
    
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
    
rs.Open "SELECT * FROM blaat", db

Ik weet niet of dit van toepassing is maar rs word byref doorgegeven aan een functie (zo kan ik dezelfde functie op meerdere rs'en gebruiken)

Nu probeer ik een aantal dingen up te daten (wissen enzo wil ook niet) maar krijg de volgende error:

Object or provider is not capable of performing requested operation

Het probleem is wel duidelijk, maar de vraag is hoe fix ik dit :? Want met DAO werkte dit wel gewoon :? De code die ik gebruik voor het updaten is overigens:
code:
1
2
rs("veld").Value = "foobar"    
rs.Update

Alvast bedankt voor je hulp

  • 3volution
  • Registratie: September 2001
  • Niet online

3volution

tsja...

Als je een recordset adOpenStatic opent, is 'ie alleen-lezen. Probeer het eens met adOpenDynamic.

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Topicstarter
nope, werkt niet :'(

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Topicstarter
ok ik geloof dat ik hem heb...
code:
1
rs.Open query, db, adOpenDynamic, adLockOptimistic
Pagina: 1