Erstellen eine Tabelle mit Primärschlüssel über ADOX

Zusammenfassung

ADOX ist eine Erweiterung von ActiveX Data-Objekte, die Bearbeitung des Datenbankschemas. Dieser Artikel beschreibt wie Sie ADOX zu einer Tabelle einen Primärschlüssel hinzufügen.

Weitere Informationen

Hinweis: nicht alle OLE DB-Provider unterstützt die Schnittstellen ADOX-Methoden unterstützen. Diese Anbieter Ihnen Datendefinitionsabfragen oder ein anderes Objektmodell mithilfe des Datenbankschemas.

Die erste Prozedur im folgenden Beispiel erstellt eine neue Tabelle in einer vorhandenen Microsoft Access-Datenbank, erstellt ein neues Feld in einer Tabelle und einen Primärschlüsselindex erstellt. Wenn Sie einen Einzelfeld-Primärschlüssel hinzufügen, müssen Sie nicht ADOX Key -Objekt verwenden.

Das zweite Verfahren nutzt ADOX Key -Objekt um einer Tabelle ein Feld "mehrere" hinzugefügt.

Beispiel-Anwendung erstellen

  1. Erstellen Sie ein neues Standard-EXE-Projekt in Microsoft Visual Basic 5.0 oder 6.0. Form1 wird standardmäßig erstellt.
  2. Wählen Sie im Menü Projekt Verweise auf die folgenden Typenbibliotheken hinzufügen:
    Microsoft ActiveX Data Objects 2.1-Bibliothek
    Microsoft ADO Ext. 2.1 for DDL and Security
  3. Fügen Sie der Form1 zwei Befehlsschaltflächen (Command1 und Command2) und den folgenden Code hinzu:
    Option Explicit
    Private Sub Command1_Click()
    '
    ' This code adds a single-field Primary key
    '
    Dim Cn As ADODB.Connection, Cat As ADOX.Catalog, objTable As ADOX.Table

    Set Cn = New ADODB.Connection
    Set Cat = New ADOX.Catalog
    Set objTable = New ADOX.Table

    'Open the connection
    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb"

    'Open the Catalog
    Set Cat.ActiveConnection = Cn

    'Create the table
    objTable.Name = "Test_Table"

    'Create and Append a new field to the "Test_Table" Columns Collection
    objTable.Columns.Append "PrimaryKey_Field", adInteger

    'Create and Append a new key. Note that we are merely passing
    'the "PimaryKey_Field" column as the source of the primary key. This
    'new Key will be Appended to the Keys Collection of "Test_Table"
    objTable.Keys.Append "PrimaryKey", adKeyPrimary, "PrimaryKey_Field"

    'Append the newly created table to the Tables Collection
    Cat.Tables.Append objTable

    ' clean up objects
    Set objKey = Nothing
    Set objTable = Nothing
    Set Cat = Nothing
    Cn.Close
    Set Cn = Nothing
    End Sub

    Private Sub Command2_Click()
    '
    ' This code adds a multi-field Primary Key
    '
    Dim Cn As ADODB.Connection, Cat As ADOX.Catalog
    Dim objTable As ADOX.Table, objKey As ADOX.Key

    Set Cn = New ADODB.Connection
    Set Cat = New ADOX.Catalog
    Set objTable = New ADOX.Table
    Set objKey = New ADOX.Key

    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=biblio.mdb"
    Set Cat.ActiveConnection = Cn
    objTable.Name = "Test_Table2"

    objTable.Columns.Append "PrimaryKey_Field1", adInteger
    objTable.Columns.Append "PrimaryKey_Field2", adInteger

    objKey.Name = "PrimaryKey"
    objKey.Type = adKeyPrimary
    objKey.Columns.Append "PrimaryKey_Field1"
    objKey.Columns.Append "PrimaryKey_Field2"

    objTable.Keys.Append objKey

    Cat.Tables.Append objTable

    ' clean up objects
    Set objKey = Nothing
    Set objTable = Nothing
    Set Cat = Nothing
    Cn.Close
    Set Cn = Nothing
    End Sub

    Hinweis: Möglicherweise müssen Sie die Verbindungszeichenfolge eine gültige Jet Datenbank anpassen.
  4. Führen Sie die Anwendung, und klicken Sie auf die Befehlsschaltflächen . Sie können die Definitionen für Test_Table und TestTable2 in Microsoft Access 97, Microsoft Access 2000 oder das Add-in Visual Basic Daten-Manager überprüfen.

Referenzen

Klicken Sie für weitere Informationen auf die folgenden Artikelnummern, um die betreffenden Artikel in der Microsoft Knowledge Base anzuzeigen:
317867 wie: Erstellen einer Microsoft Access-Datenbank mit ADOX und Visual Basic .NET
305271 wie das Paging mit dem DataGrid-Windows-Steuerelement mit Visual Basic .NET
Eigenschaften

Artikelnummer: 252908 – Letzte Überarbeitung: 23.01.2017 – Revision: 1

Feedback