Avatar billede alkrojen Nybegynder
26. juli 2001 - 15:16 Der er 9 kommentarer og
1 løsning

Er DAO ikke en del af Access?

Følgende VBA kommandoer virker fint:

Dim q As DAO.Database
q = \"UPDATE Lagerstatus SET antal=1000 WHERE  antal<>1000\"
DoCmd.RunSQL (q)

...Men når jeg istedet skriver:

Dim db As Database
Set db = CurrentDb
db.Execute \"UPDATE Lagerstatus SET antal=1000 WHERE  antal<>1000\"

Vil det ikke. Den siger at \"user defined type not defined\", og peger på \"Database\". Hvad kan der være galt? Er DAO (som Database objektet jo skulle tilhøre)ikke en del af Access? Hvis ikke hvordan kan jeg så installere det?
Avatar billede proaccess Nybegynder
26. juli 2001 - 15:26 #1
Det tyder på at du har et reference-problem, gå ind i et modul og se i menuen Funktioner/Referencer efter nogle MANGLENDE...

Samtidig vil jeg nævne at din SQL kan forkortes til:  \"UPDATE Lagerstatus SET Antal=1000\" (da antal jo allerede ER 1000, hvis ikke det er andet, og så skader opdateringen jo ikke)
Avatar billede alkrojen Nybegynder
26. juli 2001 - 15:32 #2
Det bliver du nødt til at specificere lidt nærmere...

Hvilket modul?
Avatar billede proaccess Nybegynder
26. juli 2001 - 15:38 #3
På samme måder som du har tabeller, forespørgsler og rapporter har du også moduler...
Hvis du ikke har oprettet et modul, som du kan vælge design på, så må du sige Ny(t), og der dannes et modul...

Dér kan du så gå i et menupunkt, som hedder Referencer under funktioner, og du skal prøve at kigge efter MANGLER ud for et af punkterne i listen, hvis der er en sådan så skal du have opdateret den pågældende fil... Hvis IKKE, ja så er der noget andet galt...
Avatar billede terry Ekspert
26. juli 2001 - 20:38 #4
IN Access 2000 ADO is referenced by default, so if you are using Access 2000 then you more than likley wil NOT see \"MANGLENDE\" or \"Missing\". Just find DAO 3.6 or 3.51 in Access 97 and click the ckeck box
Avatar billede alkrojen Nybegynder
26. juli 2001 - 21:27 #5
Min Access er engelsk! Men hvor finder du det menu punkt, i Visual Basic editoren? for når jeg vælger design view kommer jeg derind!!!
Avatar billede alkrojen Nybegynder
26. juli 2001 - 21:41 #6
Er ADO bedre end DAO, for så vidt jeg kan se så kan de det samme???
Jeg bruger 2000, og der er jo ingen grund til at hente noget fra 97 hvis det er dårligere...

26. juli 2001 - 23:20 #7
Du finder de forskellige referencer under Tools->References i VB-editoren.

Hvorvidt ADO er bedre end DAO er et udbredt diskusions-emne her på sitet (og i resten af verden for den sags skyld)
Min holdning er:
-DAO er lettere og kortere at skrive
-DAO er hurtigere i mange tilfælde, hvor man benytter ren Access (altså ingen ODBC eller andre OLE DB). Læs evt om Horus lille test af DAO vs ADO i http://www.eksperten.dk/spm/86600
-ADO giver en del flere funktionaliteter, som slet ikke kunne lade sig gøre vha DAO
-ADO er hurtigere, hvis man arbejder med ODBC eller andre eksterne datakilder.
-ADO er fremtidens (indtil videre) datamodel, hvorfor man bør satse mest på at lære den at kende. Hvem ved om ADO vil være tilgængelig om 2-3 år.

/Thomas
Avatar billede terry Ekspert
27. juli 2001 - 08:17 #8
you need to be in code view, and then you can find it in the Tools+References menu. Open the piece of code that your having problems with and then go to the tools menu. You should now be able to find the references sub menu. You then need to find Microsoft DAO 3.6 (I assume that you have Access 2000). Check the box to the left of this and it should work!

I agree with thomas\'s points about ADO/DAO..
Avatar billede alkrojen Nybegynder
27. juli 2001 - 09:00 #9
Jeg har valgt valgt at bruge DAO fordi det kan ufører SQL statements (det kan ADO vist ikke?)

Tak for hjælpen!!!
27. juli 2001 - 14:07 #10
ADO kan sagtens udføre SQL statements. F.eks således:

Currentproject.connection.execute \"Insert into.....\"

btw, så synes jeg også at Terry og Proaccess fortjener en del af disse point. Jeg opretter spørgsmål til jer med 20 p. hver.

/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