17. april 2005 - 23:16Der er
4 kommentarer og 1 løsning
Let problem med VB i Access
Function FindNavn(arnr) Dim Dbs As Database, rst As Recordset Set Dbs = CurrentDb Set rst = Dbs.OpenRecordset("SELECT [Navn] FROM [Hunde]") FindNavn = rst![Navn] rst.Close End Function
Hvorfor virker det ikke. Jeg har det i et visual basic modul i Access 2002 Jeg har en tabel (Hunde) med et felt(Navn) Jeg har tilføjet en reference til "Microsoft DAO 3.6 object library Jeg får fejlen: "Type mismatch" i linien: "Set rst = Dbs.OpenRecordset("SELECT [Navn] FROM [Hunde]")" Sandsynligvis er svaret let, men jeg har aldrig arbejdet i Access før.
Ja, det er altid en god ide at skrive DAO eller ADODB foran (afhængigt af om man vil bruge DAO- eller ADO-metoderne). Når Mads får en fejl nu, skyldes det, at hans "Microsoft ActiveX Data Object 2.x Library" står først i forhold til hans "Microsoft DAO 3.x Object Library" i referencerne. Når Access støder på det reserveret ord "Recordset", så bladre den gennem alle bibliotekerne (referencerne), startende fra oven, indtil den finder ordet. Og herefter gælder kun den syntaks og de metoder, egenskaber og hændelser, som står i det bibliotek.
Hvis man ved, at man kun vil bruge DAO-syntaks, bør man helt fjerne referencen til "Microsoft ActiveX Data Object 2.x Library" (og omvendt), da det betyder at Access skal bladre gennem flere biblioteker hver gang en kommando skal findes. Det samme gælder alle mulige andre referencer, som man ikke bruger (De er selvfølgelig indekseret, men alligevel sløver det ned).
Det er også derfor at rækkefølgen ikke er ligegyldig. VBA, Access og OLE bør altid ligge øverst. Herefter følger DAO og/eller ADO og tilsidst alle de andre referencer, som man får lagt på (f.eks. Word, Excel, Outlook m.m.). Så hvis man har en Outlook-reference, som man ved kun bruges sjældent, bør den stå nederst.
Well, begejstringen løb vist lidt af med mig her ;o)
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.