Wat is DAO ?

Vroeg of laat moet men via code toegang kunnen hebben tot de structuur van een database en/of tot de data in de database. Dit is mogelijk via DAO of Data Access objects, die onderdeel is van de microsoft JET (Joint Engine Technology) Database engine de onderliggende component van een MS Access database. Sedert de versie 2007 spreekt men van de Access database engine, en geniet DAO de voorkeur tov ADO. Bemerking ook via ADO (ActiveX Data Objects) kan men via code data benaderen. Het is daarom noodzakelijk om in de code en meer bepaald bij declaraties uitdrukkelijk te verwijzen naar DAO.
Bijvoorbeeld :

Dim db as Dao.Database.

De DAO objecten.

DAO Objecten

DBEngine slaat op de Access database engine zelf, en is het top niveau in ieder DAO verwijzing. De DBEngine bevat twee collecties, Workspaces de collectie van open workspace's, de Errors collectie.

'Een Workspace object staat voor een gebruikers sessie, het bevat de open database en voorziet in transactie verwerkingen. De Ms Access applicatie opent zelf de vereiste workspace, tenzij men zelf een bijkomende wordspace moet openen heeft men als gebruiker weinig interactie met het workspace object.Het workspace object omvat 3 collecties, Databases, Groups, en Users.

DBEngine.Workspaces(0).Name -> geeft #Default Workspace#

Errors collectie
Is zeker niet te verwarren met het VBA.err object. De Errors Collectie bevat informatie over de laatste DAO Error.

Databases collectie
Met DAO kan men meerdere open Databases hebben. Starten vanaf de initieeel open database(men verwijst er naar via de CurrentDB() functie), kan men via de OpenDatabase methode van het Workspace object bijkomende databases openen.

? dbEngine.Workspaces(0).OpenDatabase(strNaam,options,Read-only,Connect)

  1. strNaam : volledig pad en naam
  2. options : Optioneel ; boolean True indien database exclusief moet geopend worden
  3. Read-only : Optioneel ; boolean True indien database enkel lezengeopend wordt
  4. Connect : connectie informatie zoals gebruiker vb.

Het Database object bevat volgende 5 objecten :

  1. TableDef -> Field en Index die de database tabel beschrijven (-> Field)
  2. QuertDef -> Field en Parameter van bewaarde SQL clausules, met of zonder parameters, bewaard in de database
  3. Recordset -> Field, veel gebruikt object die een dataset met cursor voorstelt, men onderscheidt table, dynaset, snapshot, forward-only, and dynamic.
  4. Container -> Document, bevat informatie over individuele objecten in een database zoals tabellen, queries, en relaties.
  5. Relation -> Field, Relaties tussen velden (fields) in tabellen en queries. Men kan relateis tot stand brengen en verwijderen
Begin