Lathund - Databaser
Förord
Om man använder DAO (Data Access Objects) kan man skapa databaser av samma typ som används i Microsoft Access. Databasmotorn heter Microsoft Jet. Namnet är något missvisande, för Jet är inte världens snabbaste databasmotor, men den duger bra för mindre databaser som endast har ett fåtal samtidiga användare. För att kunna använda DAO måste man skapa en referens i dialogrutan References, helst till den senaste versionen Microsoft DAO 3.6. (Se bilden i avsnittet Klassmoduler.)Innehåll
»Relaterade artiklar
» Lathund - API-anrop» Lathund - Arrayer, egna datatyper och numreringar
» Lathund - Felhantering
» Lathund - Grundläggande syntax
» Lathund - Inbyggda funktioner
» Lathund - Klassmoduler
» Lathund - Kortkommandon
» Lathund - Namngivning och deklarationer
» Lathund - Några extra tips
» Lathund - Slingor och operatorer
» Lathund - Spara, öppna och skriva ut filer
» Lathund - Variablers och konstanters räckvidd
Databaser
DAO är en teknik som började användas 1993 i Visual Basic 3.0 (även om den inte kallades DAO förrän i Visual Basic 4.0) och har visst stöd för SQL (Structured Query Language) och transaktionshantering. Om man använder DAO kan man även koppla sitt program till andra databaser med hjälp av ODBC (Open Database Connectivity). När Visual Basic 6.0 lanserades 1998 började man använda ADO (ActiveX Data Objects), som är ett annat sätt att hantera databaser i Visual Basic. Man använder inte ADO för att skapa nya databaser, utan för att ansluta till redan befintliga databaser. Det är å andra sidan ADO mycket bra på.Följande exempel skapar en databas med hjälp av DAO och sparar den i filen C:\Medlem.mdb. Databasen har en tabell som heter Medlemmar. Tabellen Medlemmar har tre kolumner: Efternamn, Förnamn och Telefon. För tydlighets skull använder vi svenska namn ännu en gång, även om man egentligen bör hålla sig till engelska.
Private Sub cmdMakeMyDatabase_Click()
Dim MinRymd As Workspace
Dim MinBas As Database
Dim MinTabell As TableDef
Dim MinaFält(2) As Field
Set MinRymd = DBEngine.Workspaces(0)
Set MinBas = MinRymd.CreateDatabase("C:\Medlem.mdb", dbLangSwedFin)
Set MinTabell = MinBas.CreateTableDef("Medlemmar")
Set MinaFält(0) = MinTabell.CreateField("Efternamn", dbText)
Set MinaFält(1) = MinTabell.CreateField("Förnamn", dbText)
Set MinaFält(2) = MinTabell.CreateField("Telefon", dbText)
MinTabell.Fields.Append MinaFält(0)
MinTabell.Fields.Append MinaFält(1)
MinTabell.Fields.Append MinaFält(2)
MinBas.TableDefs.Append MinTabell
Set MinaFält(0) = Nothing
Set MinaFält(1) = Nothing
Set MinaFält(2) = Nothing
Set MinTabell = Nothing
Set MinBas = Nothing
Set MinRymd = Nothing
End Sub
DAO innehåller naturligtvis mycket mer än detta enkla exempel. Så här ser objektmodellen ut i DAO 3.6:
Objektet Workspace styr transaktionshanteringen. Metoderna BeginTrans, CommitTrans och Rollback påverkar alla databaser inom samma Workspace.
0 Kommentarer