17. april 2006 - 15:49Der er
6 kommentarer og 2 løsninger
Recordset i VB
Hej.
Jeg har prøvet i flere omgange at få hevet et recordset ud af min database, og så få det løbet igennem, men bestemt uden held.
Jeg benytter en onClick som skal klare det for mig: Dim strSQL As String Dim DB As Database, Def As DAO.QueryDef, Rs As DAO.Recordset Set DB = CurrentDb()
strSQL = "SELECT [niveauer_vs_proevninger].[antal], [niveauer_vs_proevninger].[art], [niveauer_vs_proevninger].[proevning_type] FROM [niveauer_vs_proevninger] WHERE [niveauer_vs_proevninger].[niveau] = " & Me.List19.Value & " AND [niveauer_vs_proevninger].[SBC] IN (" & strSQL & ")" Set Def = DB.QueryDefs(strSQL) Set Rs = Def.openRecordset(dbOpenDynaset)
Men jeg får forskellige fejl når jeg prøver dette: DB As Database giver den en fejl: User-Defined type not defined
Og det får jeg også på både QueryDefs og recordset.
Men jeg er temmelig grøn i access (har ellers kun brugt det til ASP, så håber på hjælp :-)
burde give fejl, da QueryDefs refererer til navnet på (eller indexet til) en foruddefineret forespørgsel. Du kan ikke angive en SQL streng på den måde.
Du kan derimod skrive:
Set Def = DB.CreateQueryDef("", strSQL)
At du angiver navnet til en blank streng betyder, at det bliver en midlertidig forespørgsel, hvilket vel også er formålet.
Selv om du kan gøre det på ovenstående måde, vil de fleste nok skyde over den del med at definere en midlertidig querydefinition. Du kan nemlig også skrive din SQL streng direkte i din OpenRecordset (når det er som metode på database objektet og ikke på querydefinitions objektet):
Set DB = CurrentDb() Set rs = DB.OpenRecordset(strSQL, dbOpenDynaset)
Åbn din VBA-editor > Tools > References og browse ned igennem bibliotekerne til du møder DAO. Hos mig hedder det "Microsoft DAO 3.6 Library". Dit kan hedde lidt andet afhængig af din version, men blot der står DAO skal du markere boksen i venstre side.
Simpelthen for pinligt at der skulle gå så lang tid...
Undskyld mange gange... Og tusind tak for hjælpen.
Mvh. jens
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.