beste mede tweakers,
ik zit nu al een aantal dagen met een probleem:
ik wil namelijk een insertquery hebben die access te gecompliceerd vind (hij lust de subquery's niet en geeft een leuke mooie ongedefineerde error... -3025)
dus dan doe ik het toch in een paar lossen querys zou je zeggen... maar dat wil dus ook niet!
methode 1: Data Access Objects:
de fout bij deze DAO: "Compileerfout, een door de gebruiker gedefinieerd gegevenstype is niet gedefineerd." Met een highlight op "Dim dbs As DAO.Recordset"
Dat is toch knap, want dit is letterlijk overgetypt uit het MS handbook access 2002. maargoed proberen we het anders
methode 2: ActiveX Data Objects
Maar nu krijg ik: "No value given for one or more required parameters" met een highlight op "rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic"
ehm mjah oke zuig, dat werkt dus ook niet. en staat ook zo in het boek...
methode 3: veel zoeken op gathering.tweakers.net
we gebruiken nu:
dit zie ik steeds terug op de forums, maar ja hoor: ik krijg een fout
"Er zijn te weinig parameters. Het verwachte aantal = 3."
het frustratieniveau begint nu richting kookpunt te komen...
kan iemand mij helpen?
ik gebruik MS access XP nl maar ook 2k nl. allebij doen ze het niet. (het is dus 2k bestandsindeling)
ik zit nu al een aantal dagen met een probleem:
ik wil namelijk een insertquery hebben die access te gecompliceerd vind (hij lust de subquery's niet en geeft een leuke mooie ongedefineerde error... -3025)
dus dan doe ik het toch in een paar lossen querys zou je zeggen... maar dat wil dus ook niet!
methode 1: Data Access Objects:
code:
1
2
3
4
5
6
7
8
9
| Dim dbs As DAO.Recordset
Dim rst As DAO.Recordset
Dim strQls As String
Dim frm As Access.Form
strSql = "SELECT tblArtikelen.ID FROM tblArtikelen WHERE tblArtikelen.ArtikelNummer = Forms!frmAddArtikelToKrant!ArtNr AND tblArtikelen.LeverancierID= (SELECT tblLeveranciers.ID FROM tblLeveranciers WHERE tblLeveranciers.Naam = Forms!frmAddArtikelToKrant!LeverancierVeld AND tblLeveranciers.Plaats = Forms!frmAddArtikelToKrant!leveranciersPlaats )), (SELECT tblKranten.ID FROM tblKranten WHERE tblKranten.jaar = Forms!frmAddArtikelToKrant!jaar AND tblKranten.Naam=Forms!frmAddArtikelToKrant!krantnaamLijst AND tblKranten.Type=Forms!frmAddArtikelToKrant!foldertypeLijst;"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSql, dbOpenDynaset)
Forms!frmAddArtikelToKrant!KrantID = rst |
de fout bij deze DAO: "Compileerfout, een door de gebruiker gedefinieerd gegevenstype is niet gedefineerd." Met een highlight op "Dim dbs As DAO.Recordset"
Dat is toch knap, want dit is letterlijk overgetypt uit het MS handbook access 2002. maargoed proberen we het anders
methode 2: ActiveX Data Objects
code:
1
2
3
4
5
6
7
8
9
| Dim frm As Access.Form
Dim strQls As String
Dim rst As ADODB.Recordset
strSQL = "SELECT tblKranten.ID FROM tblKranten WHERE tblKranten.jaar = Forms!frmAddArtikelToKrant!jaar AND tblKranten.Naam=Forms!frmAddArtikelToKrant!krantnaamLijst AND tblKranten.Type=Forms!frmAddArtikelToKrant!foldertypeLijst;"
DoCmd.OpenForm "frmAddArtikelToKrant"
Set frm = Forms![frmAddArtikelToKrant]
Set rst = New ADODB.Recordset
rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic |
Maar nu krijg ik: "No value given for one or more required parameters" met een highlight op "rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic"
ehm mjah oke zuig, dat werkt dus ook niet. en staat ook zo in het boek...
methode 3: veel zoeken op gathering.tweakers.net
we gebruiken nu:
code:
1
2
3
4
5
6
7
8
9
| Dim frm As Access.Form
Dim strQls As String
Dim rst As ADODB.Recordset
strSQL = "SELECT tblKranten.ID FROM tblKranten WHERE tblKranten.jaar = Forms!frmAddArtikelToKrant!jaar AND tblKranten.Naam=Forms!frmAddArtikelToKrant!krantnaamLijst AND tblKranten.Type=Forms!frmAddArtikelToKrant!foldertypeLijst;"
DoCmd.OpenForm "frmAddArtikelToKrant"
Set frm = Forms![frmAddArtikelToKrant]
rst = CurrentDb.OpenRecordset(strSQL) |
dit zie ik steeds terug op de forums, maar ja hoor: ik krijg een fout
"Er zijn te weinig parameters. Het verwachte aantal = 3."
het frustratieniveau begint nu richting kookpunt te komen...
kan iemand mij helpen?
ik gebruik MS access XP nl maar ook 2k nl. allebij doen ze het niet. (het is dus 2k bestandsindeling)