Ik heb weer een Access database met een formulier met daarin een subformulier.
Het subformulier wordt gevuld met een query (qry_artikelen-bestellen. Deze query toont alle records (artikelen) uit een tabel in de database van welke één veld overeen komt met een door de gebruiker op het formulier ingevulde waarde. De manier waarop dit gebeurt vind ik al een beetje verneukeratief, want ik had het liever via een VBA variabele zien gebeuren. Dat lijkt echter onmogelijk…
Goed, de query toont dus een lijstje met artikelen. Daar wil ik d.m.v. het formulier artikelen aan toe kunnen voegen. Deze waarden zitten in een handjevol VBA variabelen.
Wat ik dus heb verzonnen is dit:
Hoe kan het ook anders… dit werkt dus niet. Hij haakt af bij “Set rst = db.OpenRecordset("qry_artikelen-bestellen", dbOpenDynaset)”. De foutmelding is 3061: Er zijn te weinig parameters. Het verwachte aantal is 1.
Hoe krijg ik het nou voor mekaar dat de waarden in de query en dus in de tabel komen te staan?
Het subformulier wordt gevuld met een query (qry_artikelen-bestellen. Deze query toont alle records (artikelen) uit een tabel in de database van welke één veld overeen komt met een door de gebruiker op het formulier ingevulde waarde. De manier waarop dit gebeurt vind ik al een beetje verneukeratief, want ik had het liever via een VBA variabele zien gebeuren. Dat lijkt echter onmogelijk…
Goed, de query toont dus een lijstje met artikelen. Daar wil ik d.m.v. het formulier artikelen aan toe kunnen voegen. Deze waarden zitten in een handjevol VBA variabelen.
Wat ik dus heb verzonnen is dit:
code:
1
2
3
4
5
6
7
8
9
10
11
| Dim db As Database
Dim rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("qry_artikelen-bestellen", dbOpenDynaset)
rst!omschrijving = omschrijving
rst!aantal = aantal
rst!leverancier = leverancier
rst!bestelnummer = artikelnummer
rst.AddNew
rst.Close
Set db = Nothing |
Hoe kan het ook anders… dit werkt dus niet. Hij haakt af bij “Set rst = db.OpenRecordset("qry_artikelen-bestellen", dbOpenDynaset)”. De foutmelding is 3061: Er zijn te weinig parameters. Het verwachte aantal is 1.
Hoe krijg ik het nou voor mekaar dat de waarden in de query en dus in de tabel komen te staan?