DAO og ADO
Det næste emne vi skal til at kigge på er, hvordan vi fra VBA kan lave egentlig databehandling - altså gennemløb af et dataset med det formål at rense ud, rydde op, skabe nye data eller noget tilsvarende. I den forbindelse kommer vi ikke uden om begreberne DAO, ADO, JET, MSDE, SQL etc.
Microsoft holder meget af at bruge disse bogstavs forkortelser og vi skal ikke bruge meget tid på at gennemgå dem.
Forskelle mellem Jet, MSDE og SQL
| Jet 4.0 | MSDE 1.0 | SQL 7.0 |
Optimal antal brugere / teoretisk maks. antal | 20 / 255 | 5 / Ubegrænset | 50 / Ubegrænset |
Maks. databasestørrelse | 2 GB | 2 GB | Mange Terabytes |
Transaktionslogning | Nej | Ja | Ja |
Opgradering til SQL server | Noget arbejde | Meget let | - |
Supporter maskiner med flere processorer | Nej | Ja | Ja |
DAO og JET
Mange blander DAO (Data Access Objects) og JET sammen
JET er navnet op den indbyggede databasemotor i Access. Hver gang du åbner en tabel eller forespørgsel bliver JET benyttet til at skabe adgangen til dine data. JET indeholder også nogle muligheder for at tilknytte externe tabeller og ODBC datakilder. JET er implementeret som en række DLL-biblioteker, som der temmelig besværlige at få fat i.
DAO er et objekt bibliotek, der sikrer let adgang til JET's funktionalitet. DAO består af en objekt model med metoder og egenskaber.
ADO
ADO står for ActiveX Data Objects. ADO er, som navnet antyder også en objektsamling, der kan bruges til kommunikere med datakilder. ADO er meget mere generel en DAO og kan bruges til at kommunikere med mange flere forskellige datakilder. De to diagramer nedenfor viser forskellene mellem DAO og ADO:
![](http://www.kursusmaterialer.dk/access%20vba/scan0001.jpg)
![](http://www.kursusmaterialer.dk/access%20vba/scan0002.jpg)
Det store valg mellem DAO og ADO
- Hvis du primært vil arbejde i Access tabeller og ikke har nogle planer om at opgradere til SQL server kan du roligt blive med DAO
- Hvis du bruger Access som frontend til en SQL server (eller lign) så skal du bruge ADO i stedet
- Hvis du primært arbejder i Access, men drømmer om at opgradere din applikation til en SQL server - så bør du bruge ADO fra starten (for at lette overgangen) MEN der er en del begrænsninger når man bruger ADO i Access frem for DAO og du vil formodentlig se frem til det tidspunkt, hvor du skal over og arbejde på den store database...
På kurset her bruger vi DAO!