Avatar billede edderper Nybegynder
05. april 2001 - 13:36 Der er 4 kommentarer og
1 løsning

Åbne recordset fra Ac2k i VBA

Hvordan får jeg fat i et recordset hvor jeg kan bruge .find method\'en når jeg er i et VBA Module inde i Access2000
Det er let at skaffe sig et rs:

Set RS = CurrentDb.OpenRecordset(\"MyTable\")

Men

RS.find (\"crit\")

giver Runtime error 438,
Object doesn\'t support this property or method

Recordsettet skal vist være ADODB for at understøtte .find. Hvordan laver jeg mig sådan et indefra Access? Skal jeg virkelig til at skrive et VB program for at klare nogle simple dataflytninger?
Avatar billede edderper Nybegynder
05. april 2001 - 13:38 #1
RS.FindFirst er ikke bedre; fejlmeddelelsen er dog anderledes:
Runtime error 3251,
Operation is not supported for this type of object
Avatar billede fdata Forsker
05. april 2001 - 19:31 #2
Har du \"Dim RS as Recordset\" før den viste kode?

05. april 2001 - 21:17 #3
Hej,

Så vidt jeg kan se, så forsøger du at blande ADO og DAO.
Hvis du arbejder i Access 2000, bør du benytte ADO. Derved kan koden se nogenlunde sådan ud:

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cn = CurrentProject.Connection
    Set rs = New ADODB.Recordset
   
    rs.Open \"Tabelnavn\", cn, adOpenKeyset, adLockOptimistic
   
    rs.Find \"Felt1 = \" & varFelt1
    If rs.EOF Then
        MsgBox \"Posten findes ikke!\", vbExclamation
    End If


Kommentar:
Currentdb hører DAO til (Access 97 og tidligere)
Ligeså gør .Findfirst og .NoMatch

Hvis du stadig insisterer på at bruge den gamle syntax, skal du under Tools->references afkrydse \"Microsoft DAO 3.x Object Library\". Derved kan koden se således ud istedet:

    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset(\"Tabelnavn\", dbOpenDynaset)
    rs.FindFirst \"Felt1 = \" & varFelt1
    If rs.NoMatch Then
        MsgBox \"Posten findes ikke!\", vbExclamation
    End If

/Thomas
Avatar billede edderper Nybegynder
06. april 2001 - 11:13 #4
Thomas, det var lige hvad jeg havde brug for!
Nej jeg har intet somhelst ønske om at blive i DAO, det var bare det eneste jeg kunne...
06. april 2001 - 11:16 #5
Sjovt, at du lige nævner det :-)
Vi havde en lille diskussion igang om ADO vs DAO i dette spørgsmål: http://www.eksperten.dk/spm/61830

på trods af mine kommentarer, så mener jeg som udgangspunkt også at man lige så godt kan konvertere til ADO med det samme, da DAO formentlig ikke vil blive supporteret/udviklet fremover.

/Thomas
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