VBA (Visual Basic for Applications) ist eine Programmiersprache, mit der Sie Aufgaben in Microsoft Access automatisieren können. Eine der Hauptfunktionen der Sprache besteht darin, Tabellen in einer Datenbank zu erstellen und zu verwalten. In diesem Artikel erfahren Sie, wie Sie eine Access-Tabelle mit VBA erstellen.
Schritt 1: Öffnen Sie den VBA-Codeeditor, indem Sie in Microsoft Access Alt + F11 drücken. Wählen Sie dann das Modul aus, dem Sie Code hinzufügen möchten, um die Tabelle zu erstellen.
Schritt 2: Schreiben Sie den folgenden Code, um eine Tabelle mit dem Namen "Employees" zu erstellen:
Sub CreateEmployeesTable() Dim db As Database Dim tbl As TableDef Set db = CurrentDb Set tbl = db.CreateTableDef("Employees") With tbl .Fields.Append .CreateField("ID", dbLong) .Fields.Append .CreateField("FirstName", dbText, 50) .Fields.Append .CreateField("LastName", dbText, 50) .Fields.Append .CreateField("Department", dbText, 50) End With db.TableDefs.Append tbl Set tbl = Nothing Set db = Nothing End Sub
Dieser Code erstellt ein neues Objekt Database und TableDef, mit dem Tabellennamen "Employees". Anschließend geben Sie den Namen und den Datentyp für jedes Tabellenfeld mithilfe der Methode an CreateField. In unserem Beispiel haben wir die Felder "ID", "FirstName", "LastName" und "Department".
Schritt 3: Führen Sie den Vorgang aus CreateEmployeesTable, um die Tabelle "Employees" zu erstellen. Dazu können Sie die Taste F5 drücken oder mit der rechten Maustaste auf den Code-Editor klicken und Ausführen auswählen.
Glückwunsch! Sie haben gerade eine Access-Tabelle mit VBA erstellt. Jetzt können Sie Daten in dieser Tabelle mithilfe anderer VBA-Verfahren oder interaktiv in Microsoft Access selbst hinzufügen, ändern und löschen.
Vorbereiten der Tabellenerstellung
Bevor Sie mit dem Erstellen einer Tabelle in Access mit VBA beginnen, müssen Sie einige vorbereitende Schritte ausführen:
- Öffnen Sie die Datenbank in Microsoft Access.
- Wählen Sie die Registerkarte "Neu" in der oberen Symbolleiste aus.
- Klicken Sie im Abschnitt "Tabellen" auf die Schaltfläche "Tabelle".
- Wählen Sie aus, ob die Tabelle mithilfe des Assistenten oder im Entwurfsmodus erstellt werden soll.
- Geben Sie die Felder für die Tabelle an, indem Sie deren Namen und Datentypen angeben.
- Legen Sie bei Bedarf einen Primärschlüssel fest.
- Klicken Sie auf Fertig stellen, um die Tabellenerstellung abzuschließen.
Nachdem Sie diese Schritte ausgeführt haben, können Sie die Tabelle mit VBA in Access erstellen.
Installation der Programmierumgebung
Um eine Tabelle in Access mit VBA zu erstellen, müssen Sie eine spezielle Programmierumgebung installieren. Diese Umgebung wird normalerweise von Microsoft Visual Basic for Applications (VBA) verwendet, das in der Microsoft Office-Suite enthalten ist.
Um VBA zu installieren, müssen Sie Microsoft Office auf Ihrem Computer installiert haben. Wenn Sie es nicht haben, können Sie es kaufen oder kostenlose Alternativen wie LibreOffice oder OpenOffice nutzen.
Wenn Sie Microsoft Office installiert haben, haben Sie wahrscheinlich bereits VBA. Sie können überprüfen, ob VBA verfügbar ist, indem Sie eine beliebige Office-Anwendung wie Microsoft Excel oder Microsoft Word öffnen und das Menü «Entwickler» aufrufen (falls vorhanden). Wenn Visual Basic im Menü angezeigt wird, ist die VBA-Programmierumgebung bereits installiert.
Wenn Sie VBA nicht installiert haben, können Sie es installieren, indem Sie das Office-Installationsprogramm ausführen und die Komponenten auswählen, die Sie installieren möchten. Normalerweise ist VBA in einem Standardinstallationspaket enthalten.
Nachdem Sie VBA installiert haben, können Sie Access starten und mit VBA beginnen, um eine Tabelle und andere Operationen in der Datenbank zu erstellen.
Erstellen einer neuen Datenbank
Mit Access VBA können Sie eine neue Datenbank mit einfachem Code erstellen. Hier ist, wie man es macht:
- Öffnen Sie den Visual Basic-Editor. Drücken Sie dazu ALT+ F11 oder wählen Sie Entwickler -> Visual Basic.
- Erstellen Sie ein neues Modul. Klicken Sie im Projektfenster mit der rechten Maustaste auf Ihr Projekt und wählen Sie Einfügen -> Modul.
- Schreiben Sie Code, um die Datenbank zu erstellen. Hier ist ein Beispielcode, den Sie verwenden können: Sub CreateNewDatabase()
Dim db As DAO.Database
Dim strName As String
' Geben Sie den Pfad und den Namen der neuen Datenbank an
strName = "С:\Путь\К_новой_базе_данных .accdb"
' Erstellen Sie eine neue Datenbank
Set db = DBEngine.CreateDatabase(strName, dbLangGeneral)
' Schließen Sie die Datenbank
db.Close
Set db = Nothing
Nachdem der Code ausgeführt wurde, wird eine neue Datenbank mit dem angegebenen Pfad und Namen erstellt. Sie können überprüfen, ob die Datenbank erstellt wurde, indem Sie sie in Access öffnen oder den Code verwenden, um die Datenbank in VBA zu öffnen.
Öffnen des Tabellenentwurfsmodus
Um eine Tabelle in Access mit VBA zu erstellen, müssen Sie den Tabellenentwurfsmodus öffnen. In diesem Modus können Sie die Tabellenstruktur definieren, Felder hinzufügen und Datentypen festlegen.
- Öffnen Sie in Access die Datenbank, in der Sie die Tabelle erstellen möchten.
- Klicken Sie in der Navigationsleiste auf die Registerkarte "Tabellen".
- Klicken Sie mit der rechten Maustaste in die Navigationsleiste und wählen Sie Tabellenentwurfsmodus.
Nachdem Sie diese Schritte ausgeführt haben, wechseln Sie in den Tabellenentwurfsmodus. Hier können Sie Felder hinzufügen, Namen, Datentypen und andere Eigenschaften festlegen.
Definieren von Tabellenfeldern
Wenn Sie eine Tabelle in einer Microsoft Access-Anwendung mithilfe von VBA erstellen, muss jedes Tabellenfeld explizit definiert sein. Ein Feld wird durch Angabe seines Namens, Datentyps und zusätzlicher Eigenschaften definiert. Es können mehrere Tabellen in einer Datenbank vorhanden sein und jede Tabelle kann verschiedene Felder enthalten.
Der Feldname muss innerhalb der Tabelle eindeutig sein und bestimmte Regeln zum Benennen von Datenbankobjekten befolgen. Beispielsweise kann ein Feldname nur alphanumerische Zeichen und Unterstriche enthalten und darf nicht mit einer Zahl beginnen.
Der Datentyp bestimmt, welche Informationen im Feld gespeichert werden können. In Access VBA stehen verschiedene Datentypen zur Verfügung, z. B. Textzeichenfolgen, numerische Werte, Datum und Uhrzeit und andere. Die Auswahl des Datentyps hängt von der Art der Informationen ab, die Sie speichern und verarbeiten möchten.
Neben dem Namen und dem Datentyp können Sie auch zusätzliche Eigenschaften für das Feld angeben, z. B. eine Einschränkung der Eingabe von Werten, ein Anzeigeformat und Indizes, um die Suche und Sortierung der Daten zu beschleunigen.
Das Definieren von Tabellenfeldern in Access VBA ist ein wichtiger Schritt beim Erstellen einer Datenbank. Die korrekte Definition von Feldern ermöglicht eine effiziente Arbeit mit Daten und ermöglicht eine strukturierte Speicherung von Informationen.
Definieren von Felddatentypen
In Access VBA stehen mehrere Felddaten zur Verfügung, von denen jeder eine eigene Spezifikation und Anwendung hat:
| Datentyp | Die Beschreibung |
|---|---|
| Text (Text) | Wird zum Speichern von Textwerten mit begrenzter Länge verwendet. Die maximale Textlänge ist auf 255 Zeichen begrenzt. |
| Zahl (Number) | Wird zum Speichern von numerischen Werten verwendet. Kann eine ganze Zahl oder eine Gleitkommazahl sein. |
| Datum/Uhrzeit (Date/Time) | Wird zum Speichern von Datum oder Uhrzeit verwendet. Die Formatierung von Datum und Uhrzeit kann angegeben werden. |
| Ja/Nein (Yes/No) | Wird verwendet, um Boolesche Werte zu speichern: "Ja" oder "Nein". |
| Lange ganze Zahl (Long Integer) | Wird zum Speichern von ganzen Zahlen mit einem großen Wertebereich verwendet. |
| Währung (Currency) | Wird zum Speichern von Währungswerten verwendet. Ermöglicht die Angabe von Währungen und die Formatierung von Währungswerten. |
| GUID (Global Unique Identifier) | Wird zum Speichern einer eindeutigen ID verwendet. Wird normalerweise verwendet, um Tabellen mithilfe von Fremdschlüsseln zu verknüpfen. |
| Hyperlink (Hyperlink) | Wird zum Speichern eines Hyperlinks verwendet. Kann durch eine Webseite oder eine Datei geöffnet werden. |
| Memo (Memo) | Wird zum Speichern großer Textmengen verwendet. Die maximale Textlänge ist auf 65.536 Zeichen begrenzt. |
Wenn Sie für jedes Feld den richtigen Datentyp auswählen, können Sie Informationen effizient in einer Tabelle speichern und verarbeiten. Wenn Sie Anwendungen mit VBA entwickeln, sollten Sie bedenken, dass die Felddaten korrekt definiert werden müssen.
Definieren von Feldeigenschaften
Wenn Sie eine Tabelle in Access mit VBA erstellen, können Sie verschiedene Feldeigenschaften definieren, um ihren Datentyp, ihr Format und andere Attribute anzugeben. Hier sind einige der verfügbaren Feldeigenschaften:
- Feldname: Dies ist ein eindeutiger Name, der verwendet wird, um in VBA-Code auf dieses Feld zuzugreifen.
- Feldtyp: Dies bestimmt den Datentyp, der in diesem Feld gespeichert werden kann, z. B. Textdaten, Zahlen, Daten usw.
- Feldgröße: Dies bestimmt die maximale Anzahl von Zeichen, die ein Textfeld enthalten kann, oder die Anzahl der Ziffern, die ein numerisches Feld enthalten kann.
- Feldformat: Einige Feldtypen können ein Format haben, das eine bestimmte Datendarstellung angibt, z. B. Datum oder Uhrzeit.
- Feldeinschränkungen: Diese Eigenschaften können verwendet werden, um Einschränkungen für zulässige Werte in einem Feld festzulegen, z. B. die Eindeutigkeit von Werten oder die Überprüfung eines Wertebereichs.
- Stillschweigend: Option, um beim Erstellen eines neuen Datensatzes einen Standardwert für das Feld festzulegen.
- Feld-Index: Durch das Erstellen eines Indexes für ein Feld wird die Suche und Sortierung von Datensätzen beschleunigt.
Durch Festlegen verschiedener Feldeigenschaften können Sie die Anforderungen an die in der Tabelle gespeicherten Daten verfeinern und sicherstellen, dass sie konsistent und korrekt angezeigt werden.
Erstellen einer Tabelle und Speichern von Änderungen
Nachdem Sie die Tabellenstruktur im VBA-Code definiert haben, erstellen Sie die Tabelle selbst in der Access-Datenbank. Dazu wird die CreateTableDef-Methode des Database-Objekts verwendet.
Sub CreateTable()Dim db As DAO.DatabaseDim tblDef As DAO.TableDef' Открыть базу данныхSet db = CurrentDb' Создание новой таблицыSet tblDef = db.CreateTableDef("Название_таблицы")' Определение полей таблицыWith tblDef.Fields.Append .CreateField("Поле1", dbText).Fields.Append .CreateField("Поле2", dbInteger).Fields.Append .CreateField("Поле3", dbDate)End With' Создание таблицы в базе данныхdb.TableDefs.Append tblDef' Сохранение измененийdb.TableDefs.Refreshdb.Close' Очистка памятиSet tblDef = NothingSet db = NothingMsgBox "Таблица создана успешно!"End Sub
In diesem Beispiel wird eine neue Tabelle mit drei Feldern erstellt: Feld1 ist ein Textfeld, Feld2 ist ein ganzzahliges Feld und Feld3 ist ein Datumsfeld. Nachdem Sie die Felder definiert haben, wird die Tabelle der TableDefs-Auflistung der Datenbank hinzugefügt.
Nachdem die Tabellenerstellung abgeschlossen ist, müssen Sie die Änderungen in der Datenbank mithilfe der Refresh-Methode des TableDefs in der Datenbank speichern. Danach kann die Datenbank geschlossen werden.
Jetzt wissen Sie, wie Sie eine Tabelle in einer Access-Datenbank mit VBA erstellen und die Änderungen speichern.