vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 
zurück
Rubrik: Datenbanken · ADO   |   VB-Versionen: VB5, VB628.07.05
Datenbanken und Tabellen mit ADOX erstellen (ADO)

Dieser Tipp zeigt, wie man beim Verwenden von ADO eine neue Access-Datenbank erstellen kann.

Autor:   AnGeBewertung:     [ Jetzt bewerten ]Views:  38.615 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein Beispielprojekt 

Nachfolgend soll in kurzen Codeauszügen gezeigt werden, wie man bei Verwendung des ADO-Datenbankzugriffs

  1. eine neue leere Access-Datenbank
  2. neue Tabellen
  3. Felder und Indexfelder
erstellen kann.

Zunächst müssen aber zunächst einmal folgende Verweise aktiviert werden:

  • Microsoft ActiveX Data Objects 2.x Library
  • Microsoft ADO Ext. 2.x for DDL and Security

Neue leere Access-Datenbank erstellen

Dim oCat As ADOX.Catalog
Dim sConn As String
 
Set oCat = New ADOX.Catalog
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  "Data Source=C:\testmdb.mdb;"
 
' Falls die Datenbank durch ein Passwort geschützt werden soll...
sConn = sConn & "Jet OLEDB:Database Password=geheim;"
 
oCat.Create sConn
Set oCat = Nothing

Bestehende Datenbank öffnen

Dim oConn As ADODB.Connection
Dim sConn As String
 
Set oConn = New ADODB.Connection
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  "Data Source=C:\testmdb.mdb;"
 
' Falls die Datenbank durch ein Passwort geschützt ist...
sConn = sConn & "Jet OLEDB:Database Password=geheim;"
 
oConn.Open sConn

Neue Tabelle mit diversen Datenbankfeldern erstellen

Dim oCat As ADOX.Catalog
Dim oTable As ADOX.Table
Dim oIndex As ADOX.Index
 
Set oCat = New ADOX.Catalog
oCat.ActiveConnection = oConn
 
Set oTable = New ADOX.Table
With oTable
  ' Name der neuen Tabelle
  .Name = "Test"
  ' Catalog festlegen
  .ParentCatalog = oCat
 
  ' Felder definieren und dem Table-Objekt hinzufügen
  .Columns.Append "Primaerschluessel", adInteger
  .Columns("Primaerschluessel").Properties("Description") = "Test" '
 
  .Columns.Append "Feld1", adWChar, 60
  With .Columns("Feld1")
    .Properties("Description") = "Feld2"
    .Properties("Jet OLEDB:Allow Zero Length") = True
    .Properties("Nullable") = True
  End With
End With
 
' Table-Objekt dem Catalog-Objekt zuweisen
oCat.Tables.Append oTable
 
' Index Primärschlüssel definieren
Set oIndex = New ADOX.Index
With oIndex
  .Name = "PrimarayKey"
  .Columns.Append "Primaerschluessel"
  .PrimaryKey = True
  .Unique = True
End With
oTable.Indexes.Append oIndex
Set oIndex = Nothing
 
' Objekte zerstören
Set oTable = Nothing
Set oCat = Nothing

Hinweis zu den Eigenschaften der Tabellenfelder (Properties)
Nachfolgend eine kleine Auflistung der möglichen Eigenschaften:

  • Autoincrement
  • Default
  • Description
  • Nullable
  • Fixed Length
  • Seed
  • Increment
  • Jet OLEDB:Column Validation Text
  • Jet OLEDB:Column Validation Rule
  • Jet OLEDB:IISAM Not Last Column
  • Jet OLEDB:AutoGenerate
  • Jet OLEDB:One BLOB per Page
  • Jet OLEDB:Compressed UNICODE Strings
  • Jet OLEDB:Allow Zero Length
  • Jet OLEDB:Hyperlink

Um einer Tabelle bspw. ein AutoIncrement-Feld zuzufügen, folgenden Code benutzen:

With oTable
  ...
  ' AutoIncrement hinzufügen
  .Columns.Append "AutoNr", adInteger
  .Columns("AutoNr").Properties("Autoincrement") = True
  ...
End With

Dieser Tipp wurde bereits 38.615 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Aktuelle Diskussion anzeigen (3 Beiträge)

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen [email protected]  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2022 [email protected] Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel