Avatar billede nhoff Nybegynder
20. april 2004 - 18:27 Der er 15 kommentarer og
2 løsninger

Hentning af recordset via VBA

Nogen der ved hvorfor jeg får følgende fejlmed.

Compile error:
User-defined type not defined

Når jeg på en knap kører:

Private Sub cmdPW_Click()
'Fejlen sætter ind lige nedenfor
Dim rs As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = "driver={SQL Server};server=XXX;uid=YYY;pwd=ZZZ;database=DB"
    cn.ConnectionTimeout = 30
    cn.Open

Set rs = New ADODB.Recordset
rs.Open "TabAnsatte", cn, adOpenKeyset, adLockOptimistic

Set rs2 = New ADODB.Recordset
rs2.Open "tblLogin", cn, adOpenKeyset, adLockOptimistic

Den vil åbenbart ikke genkende "ADODB.recordset" - er det noget med referencer(?) Jeg har ikke arbejdet meget med VBA til Access, men har sakset ovenstående sammen fra svaret på flere forskellige spørgsmål herinde.

På forhånd tak
Nikolaj
Avatar billede mugs Novice
20. april 2004 - 18:30 #1
Hvis du får et fejlvindue med en knap der hedder Debug, så tryk på Debug og du kommer ind i VBA-editoren. Her trykker du på Run > Reset for at nulstille fejlene. Herefter på Tools > References og kontroller, at der ikke er referencer der står som mangler. Er der det, skal du sætte et checkmærke i boksen til venstre.

Hvis du kører med Access97, kan du ikke bruge koden, idet det er Access2000.
Avatar billede nhoff Nybegynder
20. april 2004 - 18:43 #2
Den åbner selv VBA-editoren og jeg får en msgbox med den beskrevne fejl.
Der er ikke nogle af referencerne, der står "Missing" ved.
Jeg Access 2003, men filen er lavet i access 2000 filformat.
Avatar billede mugs Novice
20. april 2004 - 18:48 #3
Beklager, du må vente til der kommer en haj forbi. Jeg har ikke meget forstand på SQl Server.
Avatar billede nhoff Nybegynder
20. april 2004 - 18:59 #4
OK, jeg væbner mig med tålmod. Tak i øvrigt for inputtet.
Avatar billede mugs Novice
20. april 2004 - 19:01 #5
Selv tak. Kender jeg dem ret, behøver du ikke særlig meget tålmodighed .o)
Avatar billede terry Ekspert
20. april 2004 - 19:30 #6
nhoff>Why do you need to open a recordset to an SQL Server table, you can link your tables using a DSN (ODBC) connection, or if you have Access 2000 or greater you can make a Data Project (ADP) database which connects directly to your SQL Server!
Avatar billede nhoff Nybegynder
20. april 2004 - 19:37 #7
Det behøver jeg måske heller ikke :-). Jeg har i forvejen et fil-dsn. Findes der en anden måde at åbne en tabel fra samme db som jeg har åben?
Avatar billede terry Ekspert
20. april 2004 - 19:47 #8
Your last comment requires a further explanation! If you already use an ODBC connection then you can link more than one table at the same time, furthermore you can have more than one DSN and link to more than one SQL Server/database
Avatar billede hekla Nybegynder
20. april 2004 - 20:11 #9
Hvis fejlen kommer før, der er lavet connection til noget som helst, må det vel være en missing reference til ADO???
Avatar billede nhoff Nybegynder
20. april 2004 - 20:25 #10
Terry>
Følgende demonstrerer givetvis min manglende forståelse for VBA og recordsets: Ja, men den form hvor cmdPW ligger kan jo kun have en tabel som recordsource. Jeg skal bruge et felt fra "TabAnsatte" og et felt fra "tblLogin", som skal sammenholdes med et felt (uden kontrolelement) fra min form.

Hekla>
Det er også det jeg hælder til, men som sagt står der ikke "missing" nogle steder og det eneste jeg kan se i reference-listen der rimer på ADO er "Microsoft ADO Ext. 2.7. for DDL and security" og den har jeg også prøvet at krydse af uden held.
Avatar billede terry Ekspert
20. april 2004 - 20:36 #11
nhoff>Are you linking your tables via an ODBC data source, can you see the tables in the database window?

If these tables are related then you can make a query, and then use the query as the data source to the form instead of the table!

You can also use the dlookup function to get the value from another table. This is very easy for reading a single value from another table

Look in help for more informationon Dlookup
Avatar billede terry Ekspert
26. april 2004 - 20:04 #12
og?
Avatar billede hekla Nybegynder
29. maj 2004 - 11:34 #13
.
Avatar billede hekla Nybegynder
20. juni 2004 - 23:22 #14
Referencen skal hedde Microsoft ActiveX Data Objects ## Library, hvor ## er nummeret på versionen.
Hvis du har fået svar på dit spørgsmål, skal du lukke det.
Avatar billede hekla Nybegynder
20. juni 2004 - 23:22 #15
.
Avatar billede terry Ekspert
05. juli 2004 - 20:22 #16
status please?
Avatar billede nhoff Nybegynder
01. august 2004 - 22:21 #17
Hej

Beklager at responsen har været så lang tid undervejs.
Hekla: Der var tale om en missing reference til ADO - jeg var bare ikke klar over hvilken.
Terry: Du har ret i at det er meget nemmere at lave Dlookup - jeg blev bare forhippet på at lave det på den anden måde :-)

Jeg deler points'ene for indsatsen.

Hilsen
Nikolaj
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester