Toon posts:

[VBA & Access 2003] variablen declareren?!?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik snap der geen hol van... het volgende:


code:
1
2
Dim rstSetje As Recordset
Set rstSetje = CurrentDB.OpenRecordset("SQL")


veroorzaakt fout: "Typen komen niet met elkaar overeen"

en

code:
1
2
Dim strStringetje As String 
Set strStringetje = "blaat"


veroorzaakt fout: "Compileerfout: Object vereist"

wtf doe ik fout :S


Als ik trouwens alles als object declareer werkt het wel :/

[ Voor 16% gewijzigd door Verwijderd op 01-10-2004 19:46 ]


Verwijderd

Topicstarter
kan het toevallig liggen aan de versie verschillen, deze database is gemaakt met access 2000... :S en ik zit te werken met 2003

  • Nvidiot
  • Registratie: Mei 2003
  • Laatst online: 11-01 23:32

Nvidiot

notepad!

laat de 'Set' eens weg? :)

What a caterpillar calls the end, the rest of the world calls a butterfly. (Lao-Tze)


Verwijderd

referentievoorrang aanpassen (vbe->opties->verwijzingen, ofwel expliciet aangeven tot welke klasse de recordset behoort:
dim rstSetje as dao.recordset
of
as ado.recordset
je 2de voorbeeldje kan niet werken, je probeert een gewone variabele met een objectoewijsinstructie (set) een waarde te geven

Verwijderd

Topicstarter
Verwijderd schreef op 01 oktober 2004 @ 20:43:
referentievoorrang aanpassen (vbe->opties->verwijzingen, ofwel expliciet aangeven tot welke klasse de recordset behoort:
dim rstSetje as dao.recordset
of
as ado.recordset
je 2de voorbeeldje kan niet werken, je probeert een gewone variabele met een objectoewijsinstructie (set) een waarde te geven
hmm ok, dat laatste snap ik dan, dat eerste wil ik wel proberen maar geeft ook een foutmelding. Hoe weet ik tot welke klasse de recordset behoort dan? (n00b me)

Verwijderd

ook effe niet gezien dat sql tss haakjes staat. zoals je het hebt staan, is het een letterlijke string. de haajkes moeten weg en als je variabele SQL een geldige SQL bevat (select * from enz...), dan zou het moeten werken.

Verwijderd

Topicstarter
Verwijderd schreef op 01 oktober 2004 @ 21:41:
ook effe niet gezien dat sql tss haakjes staat. zoals je het hebt staan, is het een letterlijke string. de haajkes moeten weg en als je variabele SQL een geldige SQL bevat (select * from enz...), dan zou het moeten werken.
Maar dat wist ik al :) dat SQL was bedoelt als string :), gewoon een voorbeeldje!

Maar mijn vorige vraag staat nog :)

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op 03 oktober 2004 @ 00:21:
[...]


Maar dat wist ik al :) dat SQL was bedoelt als string :), gewoon een voorbeeldje!

Maar mijn vorige vraag staat nog :)
Wat heretic schrijft: currentdb.openrecordset() stamt uit de DAO bibliotheek en levert dus een DAO recordset op.
Dim Rs as Dao.recordset zou dus moeten werken.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Als hierboven, ADO en DAO laat je door elkaar lopen. Deze twee bibliotheken hebben klasses met overeenkomstige namen, dat maakt debuggen erg lastig als je niet weet wat er aan de hand is. In MS-Access kunnen ADO en DAO door elkaar lopen, daarom is het handig in de DIMs aan te geven uit welke lib het object komt:
code:
1
DIM RS AS ADODB.RecordSet


Het ADO-georienteerde substituut voor CurrentDB in Access-2003 is
code:
1
CurrentProject.ActiveConnection
Pagina: 1