DAO VBA lernen

Erstellen eines DAO-Recordsets aus einer Tabelle in der aktuellen Datenbank

Im folgenden Codebeispiel wird die OpenRecordset-Methode verwendet, um ein Recordset -Objekt vom Typ "Tabelle" für eine Tabelle in der aktuellen Datenbank zu erstellen.

Erstellen eines DAO-Recordsets anhand eines Formulars

Sie können ein Recordset -Objekt basierend auf einem Access-Formular erstellen. Verwenden Sie dazu die RecordsetClone -Eigenschaft des Formulars. Dadurch wird ein Recordset vom Typ "Dynaset" erstellt, das auf dieselbe zugrunde liegende Abfrage oder Daten wie das Formular verweist.

Erstellen eines DAO-Recordset-Objekts anhand einer Abfrage

Sie können ein Recordset -Objekt basierend auf einer gespeicherten Auswahlabfrage erstellen. Im folgenden Codebeispiel ist eine Current Product List vorhandene SELECT-Abfrage, die in der aktuellen Datenbank gespeichert ist.

Hinzufügen eines Datensatzes zu einem DAO-Recordset

Mithilfe der AddNew-Methode können Sie einem Recordset-Objekt vom Typ "Tabelle" oder "Dynaset" einen neuen Datensatz hinzufügen.

Navigieren durch ein DAO-Recordset

Ein Recordset -Objekt hat in der Regel eine aktuelle Position, am häufigsten bei einem Datensatz. Wenn Sie auf die Felder in einem Recordset-Objekt verweisen, erhalten Sie Werte aus dem Datensatz an der aktuellen Position, der als aktueller Datensatz bezeichnet wird. Die aktuelle Position kann sich jedoch auch unmittelbar vor dem ersten Datensatz oder direkt hinter dem letzten Datensatz in einem Recordset-Objekt befinden. Unter bestimmten Umständen ist die aktuelle Position nicht definiert.

Suchen nach einem Datensatz in einem DAO-Recordset vom Typ "Dynaset" oder "Snapshot"

Sie können die Find-Methoden zum Auffinden eines Datensatzes in einem Recordset-Objekt des Typs 'Dynaset' oder 'Snapshot' verwenden.

Suchen nach einem Datensatz in einem DAO-Recordset vom Typ "Tabelle"

Verwenden Sie die Seek -Methode, um einen Datensatz in einem Recordset -Objekt vom Typ Tabelle zu suchen.

Wenn Sie die Seek -Methode verwenden, um einen Datensatz zu suchen, verwendet das Access-Datenbankmodul den aktuellen Index der Tabelle, wie von der Index -Eigenschaft definiert.

Ändern eines vorhandenen Datensatzes in einem DAO-Recordset

Sie können vorhandene Datensätze in einem Recordset -Objekt vom Typ "Tabelle" oder "Dynaset" mithilfe der Methoden Edit und Update ändern.

Lesen und Schreiben in einem Feld in einem DAO-Recordset

Wenn Sie Daten in ein Feld lesen oder schreiben, lesen oder legen Sie die Eigenschaft "DAO- Wert" eines Field -Objekts tatsächlich fest. Die DAO- Wert Eigenschaft ist die Standardeigenschaft eines Field -Objekts.

Zählen der Anzahl von Datensätzen in einem DAO-Recordset

Möglicherweise möchten Sie die Anzahl der Datensätze in einem Recordset -Objekt kennen. Sie möchten z. B. ein Formular erstellen, das zeigt, wie viele Datensätze in jeder der Tabellen in einer Datenbank enthalten sind.

Löschen eines Datensatzes aus einem DAO-Recordset

Sie können einen vorhandenen Datensatz in einem Recordset-Objekt vom Typ “Tabelle“ oder “Dynaset“ mithilfe der Delete-Methode löschen.

Synchronisieren eines DAO-Recordset-Datensatzes mit dem aktuellen Datensatz eines Formulars

Im folgenden Codebeispiel wird die RecordsetClone -Eigenschaft und das Recordset -Objekt verwendet, um den Datensatz eines Recordset-Objekts mit dem aktuellen Datensatz des Formulars zu synchronisieren.

Erkennen der Grenzen eines DAO-Recordsets

Wenn Sie versuchen, in einem Recordset -Objekt über den Anfangs-oder Enddatensatz hinaus zu navigieren, tritt ein Laufzeitfehler auf. Wenn Sie beispielsweise versuchen, die MoveNext -Methode zu verwenden, wenn Sie sich bereits am letzten Datensatz des Recordset-Objektsbefinden, tritt ein auffangbarer Fehler auf. Aus diesem Grund ist es hilfreich, die Grenzen des Recordset-Objekts zu kennen.

Extrahieren von Daten aus einem Datensatz in einem DAO-Recordset

Nachdem Sie einen bestimmten Datensatz oder bestimmte Datensätze gefunden haben, möchten Sie möglicherweise Daten extrahieren, um sie in Ihrer Anwendung zu verwenden, anstatt die zugrunde liegende Eingabetabelle zu bearbeiten.

Suchen der aktuellen Position in einem DAO-Recordset

In einigen Situationen müssen Sie bestimmen, wie weit durch ein Recordset -Objekt, das Sie die aktuelle Datensatzposition verschoben haben, und möglicherweise die aktuelle Datensatzposition für einen Benutzer angibt. Beispielsweise möchten Sie die aktuelle Position auf einer Skala, einem Meter oder einem ähnlichen Steuerelement angeben. Zur Angabe der aktuellen Position stehen zwei Eigenschaften zur Verfügung: die AbsolutePosition -Eigenschaft

Markieren einer Position in einem DAO-Recordset

Eine Textmarke ist ein vom System generiertes Bytearray, das jeden Datensatz eindeutig identifiziert. Die DAO Bookmark -Eigenschaft eines Recordset -Objekts ändert sich jedes Mal, wenn Sie zu einem neuen Datensatz wechseln. Um einen Datensatz zu identifizieren, wechseln Sie zu diesem Datensatz, und weisen Sie dann den Wert der DAO- Bookmark -Eigenschaft einer Variablen vom Typ Variant zu. Um zum Datensatz zurückzukehren, legen Sie die DAO Bookmark -Eigenschaft auf den Wert der Variablen fest.

Ausführen von Massenänderungen an einem DAO-Recordset

Nachdem Sie ein Recordset -Objekt vom Typ "Tabelle" oder "Dynaset" erstellt haben, können Sie neue Datensätze ändern, löschen oder hinzufügen.

Sortieren von Daten in einem DAO-Recordset

Wenn Sie ein Recordset -Objekt vom Typ Tabelle nicht öffnen und seine Index -Eigenschaft festlegen, können Sie nicht sicherstellen, dass Datensätze in einer bestimmten Reihenfolge angezeigt werden. Normalerweise möchten Sie jedoch Datensätze in einer bestimmten Reihenfolge abrufen. Sie können beispielsweise Rechnungen anzeigen, die durch steigende Rechnungsnummer angeordnet sind, oder Mitarbeiterdatensätze in alphabetischer Reihenfolge nach Ihren Nachnamen abrufen. Um Datensätze in einer bestimmten Reihenfolge anzuzeigen, Sortieren Sie Sie.

Verwenden von Transaktionen in einem DAO-Recordset

Eine Transaktion ist eine Gruppe von Vorgängen, die zusammen gebündelt und als einzelne Arbeitseinheit verarbeitet werden. Die Arbeit in einer Transaktion muss als Ganzes abgeschlossen werden; Wenn ein Teil der Transaktion fehlschlägt, schlägt die gesamte Transaktion fehl. Transaktionen bieten dem Entwickler die Möglichkeit, die Datenintegrität zu erzwingen. Bei mehreren Datenbankvorgängen, die in einer einzelnen Einheit gebündelt sind und erfolgreich ausgeführt werden müssen oder Scheitern, kann die Datenbank keinen inkonsistenten Zustand erreichen.

Arbeiten mit Anlagen in DAO

In DAO funktionieren Anlagefelder wie andere Mehrfachwertfelder. Das Feld mit der Anlage enthält ein Recordset-Objekt, das dem Recordset-Objekt der Tabelle untergeordnet ist. Es gibt zwei neue DAO-Methoden , loadfromdatei und SaveToFile, die sich ausschließlich mit Anlagen befassen.

Bearbeiten von mehrwertigen Feldern mit DAO

Mehrwertige Felder werden in DAO als Recordset -Objekte dargestellt. Das Recordset eines Felds ist dem Recordset für die Tabelle untergeordnet, die das mehrwertige Feld enthält. Zum Instanziieren des untergeordneten Recordset-Objekts verwenden Sie die value -Eigenschaft des mehrwertigen Felds wie folgt.