Recordset-Objekt (Versionen 2.0, 2.1, 2.5, 2.6)
Dim recordset As ADODB.Recordset

Das Objekt Recordset (Datensatzgruppe) repräsentiert entweder alle Zeilen aus einer vollständigen Tabelle oder die Datensätze, die von einem ausgeführten Befehl zurückgegeben worden sind.

Eigenschaft Recordset.AbsolutePage (Versionen 2.0, 2.1, 2.5, 2.6)

absolutepage = recordset.AbsolutePage
 

Die Eigenschaft AbsolutePage liefert oder setzt einen Wert, der die aktuelle Seite in der Datensatzgruppe bezeichnet.

Datentyp

Long

 
Beschreibung

Indem Sie die Eigenschaft AbsolutePage einstellen, weisen Sie ADO an, den Datensatzzeiger auf den ersten Datensatz der angegebenen Seite zu setzen. Die Eigenschaft AbsolutePage lässt sich auf eine Zahl zwischen 1 und der von der Eigenschaft PageCount zurückgegebenen Zahl einstellen, nämlich der Gesamtzahl logischer Seiten. Die Größe jeder Seite wird von der Eigenschaft PageSize bestimmt.

Indem Sie die Eigenschaft AbsolutePage auslesen, können Sie feststellen, auf welcher logischen Seite sich der Datensatzzeiger befindet. Die Eigenschaft AbsolutePage liefert einen Wert vom Typ Long und bezeichnet die aktuelle Seite oder einen PositionEnum-Wert.

Wenn beim Lesen der Eigenschaft AbsolutePage der Datensatzzeiger auf die BOF-Marke zeigt, wird der Wert adPosBOF (-2) zurückgegeben. Befindet sich der Datensatzzeiger auf der EOF-Marke, wird der Wert adPosEOF (-3) zurückgegeben. Wenn die Datensatzgruppe leer ist, die Position des Datensatzzeigers unbekannt ist oder der Datenprovider die Eigenschaft AbsolutePage nicht unterstützt, so wird der Wert adPosUnknown (-1) zurückgegeben.

Die Eigenschaft AbsolutePage ist 1-basiert, das bedeutet, dass ein Wert von 1 die erste Seite in der Datensatzgruppe bezeichnet.

 
Hinweis

Nicht alle Provider unterstützen die Eigenschaft AbsolutePage.

 
Siehe auch

CursorOptionEnum-Enumeration, PositionEnum-Enumeration, Recordset.Count-Eigenschaft, Recordset.Filter-Eigenschaft, Recordset.PageSize-Eigenschaft, Recordset.Supports-Methode

 
Eigenschaft Recordset.AbsolutePosition (Versionen 2.0, 2.1, 2.5, 2.6)

absoluteposition = recordset.AbsolutePosition
 

Die Eigenschaft AbsolutePosition liefert oder setzt einen Wert, der die aktuelle Datensatzposition in der Datensatzgruppe bezeichnet.

Datentyp

Long

 
Beschreibung

Indem Sie die Eigenschaft AbsolutePosition setzen, weisen Sie ADO an, den Datensatzzeiger auf den Datensatz mit der angegebenen Nummer zu verlagern. Die Eigenschaft AbsolutePosition lässt sich auf eine Zahl zwischen 1 und der von der Eigenschaft RecordCount zurückgegebenen Zahl einstellen, nämlich der Gesamtzahl der Datensätze in der Datensatzgruppe.

Wenn Sie die Eigenschaft AbsolutePosition setzen, wird von ADO eine neue Gruppe an Datensätzen in den Cache-Speicher geladen, von denen der erste der von Ihnen angegebene ist. Wie viele Datensätze in den Cache geladen werden, wird durch die Eigenschaft CacheSize bestimmt.

Indem Sie die Eigenschaft AbsolutePosition auslesen, können Sie feststellen, auf welcher Position sich der Datensatzzeiger befindet, und zwar als Long- oder PositionEnum-Wert.

Wenn beim Lesen der Eigenschaft AbsolutePosition der Datensatzzeiger auf die BOF-Marke zeigt, wird der WertadPosBOF (-2) zurückgegeben. Und befindet sich der Datensatzzeiger auf der EOF-Marke, wird der Wert adPosEOF (-3) zurückgegeben. Wenn die Datensatzgruppe leer ist, die Position des Datensatzzeigers unbekannt ist oder der Datenprovider die Eigenschaft AbsolutePosition nicht unterstützt, so wird der Wert adPosUnknown (-1) zurückgegeben.

Beachten Sie, dass sich die absolute Position ändern kann, falls einer der vorherigen Datensätze gelöscht wird oder auch nur benötigt wird. Es empfiehlt sich die Verwendung von Lesezeichen, um die Datensatzposition zu verfolgen.

Die Eigenschaft AbsolutePosition ist 1-basiert, das bedeutet, dass ein Wert von 1 den ersten Datensatz in der Gruppe bezeichnet.

 
Hinweis

Nicht alle Provider unterstützen die Eigenschaft AbsolutePosition.

 
Siehe auch

CursorOptionEnum-Enumeration, PositionEnum-Enumeration, Recordset.CacheSize-Eigenschaft, Recordset.RecordCount-Eigenschaft, Recordset.Supports-Methode

 
Eigenschaft Recordset.ActiveCommand (Versionen 2.0, 2.1, 2.5, 2.6)

activecommand = recordset.ActiveCommand
 

Die Eigenschaft ActiveCommand gibt das Command-Objekt zurück, das zum Auffüllen eines Recordset-Objekts verwendet worden ist.

Datentyp

Variant (mit Command-Objekt)

 
Beschreibung

Die schreibgeschützte Eigenschaft ActiveCommand wird für die Ausgabe des Command-Objekts verwendet, das zum Auffüllen eines Recordset-Objekts verwendet worden ist.

Wenn kein Command-Objekt zum Auffüllen des Recordset-Objekts verwendet worden ist, wird ein Verweis auf ein Null-Objekt zurückgegeben.

 
Eigenschaft Recordset.ActiveConnection (Versionen 2.0, 2.1, 2.5, 2.6)

Set recordset.ActiveConnection = connection
recordset.ActiveConnection = connectionstring
 

Die Eigenschaft ActiveConnection gibt das Connection-Objekt für das aktuelle Command-Objekt an.

Datentyp

String oder Variant (mit dem aktuellen Connection-Objekt)

 
Beschreibung

Die Eigenschaft ActiveConnection kann entweder einen String oder einen Verweis auf ein Connection-Objekt zurückgeben. Die Eigenschaft ActiveConnection kann nicht gelesen werden, wenn das Objekt Recordset geöffnet ist oder wenn das Objekt Recordset mit einem Command-Objekt erstellt worden ist (und die Eigenschaft Source auf das Objekt Command gesetzt worden ist). Ansonsten kann die Eigenschaft ActiveConnection immer auf einen String oder auf einen Verweis auf ein Connection-Objekt gesetzt werden. Bei Verwendung eines String-Werts sollte es sich um einen gültigen Verbindungs-String handeln, der an die Eigenschaft ConnectionString eines Connection-Objekts übergeben werden kann. Die Eigenschaft ActiveConnection muss gesetzt werden, bevor Sie ein Recordset-Objekt öffnen. Bevor sie gesetzt wird, weist die Eigenschaft ActiveConnection standardmäßig einen Null-Objektverweis als Wert auf.

Wenn Sie ActiveConnection als Parameter für die Methode Open des Objekts Recordset angeben, wird die Eigenschaft ActiveConnection auf denselben Wert zugreifen. Wenn Sie ein Recordset-Objekt öffnen, bei dem als Wert für die Eigenschaft Source ein Command-Objekt verwendet wird, so wird die ActiveConnection-Eigenschaft des Objekts Recordset auf den Wert der ActiveConnection-Eigenschaft des Objekts Command zugreifen.

 
Siehe auch

Conection.ConnectionString-Eigenschaft, Recordset.Open-Methode, Recordset.Source-Eigenschaft

 
Methode Recordset.AddNew (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.AddNew Fields, Values
 

Die Methode AddNew erstellt einen neuen Datensatz innerhalb des aktuellen Recordset-Objekts (das auf den angegebenen Wert gesetzt ist).

Argumente
Fields

Als optionalen ersten Parameter an die Methode AddNew geben Sie entweder eine Variante oder ein Varianten-Array ein. Dieses Objekt repräsentiert den Namen des Felds bzw. des Arrays an Feldern, für die Sie Werte initialisieren wollen. Ist dieser Parameter ein Varianten-Array, so muss der nächste Parameter, Values, ebenfalls ein Varianten-Array derselben Dimension sein.

Values

Der optionale zweite Parameter arbeitet mit dem ersten Parameter, Fields, zusammen. Dieser Parameter ist ebenfalls eine Variante oder ein Varianten-Array und legt die Werte der Felder fest, die Sie im ersten Parameter hinzugefügt haben. Wichtig: Wenn dieser Parameter ein Varianten-Array enthält, so müssen auch die Fields-Parameter ein Array der gleichen Dimension bilden. Zudem muss jede Ordinalposition beider Arrays die Felder und Werte einander korrekt zuordnen.

 
Beschreibung

Die Methode AddNew ist ein Mitglied des Objekts Recordset. Sie hat die Aufgabe, zur durch das Objekt Recordset definierten Gruppe einen neuen Datensatz hinzuzufügen. Dabei haben Sie die Wahl, entweder einen einzelnen Feldnamen und Initialisierungswert anzugeben oder eine ganze Liste an Feldern, und zwar in der Form eines Varianten-Arrays, zusammen mit einem korrespondierenden Varianten-Array an Werten, die diesen Feldern entsprechen.

Nach dem Aufruf der Methode AddNew können Sie entweder die Methode Update aufrufen oder erneut die Methode AddNew, um den aktuellen Datensatz in das Recordset-Objekt einzufügen. Wenn Sie die Methode AddNew vor der Methode Update aufrufen, ruft ADO die Methode Update automatisch auf, und macht dann mit dem AddNew-Methodenaufruf weiter. Durch einfaches Hinzufügen des Datensatzes zum Recordset-Objekt ist nicht garantiert, dass sich der neue Datensatz schon in der Datenquelle befindet. Das hängt vom Aktualisierungsmodus des Recordset-Objekts ab.

Ist das Objekt Recordset auf unmittelbaren Aktualisierungsmodus gesetzt und Sie geben beim AddNew-Aufruf keine Parameter an, werden die Änderungen unmittelbar nach dem anschließenden Aufruf von Update bzw. AddNew vorgenommen. Geben Sie beim Aufruf der Methode AddNew hingegen Parameter an, so werden die Werte bis zum nächsten Aufruf von Update lokal zwischengespeichert. In der Zeit zwischen dem Aufruf von AddNew und Update wird die Eigenschaft EditMode auf adEditAdd gesetzt und wird erst dann wieder auf adEditNone zurückgesetzt, wenn die Aktualisierung abgeschlossen ist.

Ist das Objekt Recordset auf Batch-Aktualisierungsmodus gesetzt, werden die Änderungen nur ausgeführt, wenn die Methode UpdateBatch des Recordset-Objekts aufgerufen wird. In diesem Modus werden die Änderungen lokal zwischengespeichert, wenn die Methode AddNew keine Parameter umfasst. Dadurch wird auch die Eigenschaft EditMode auf adEditAdd gesetzt. Die Änderungen werden an den Provider gesendet – aber immer noch nicht in die Datenquelle geschrieben –, wenn die Methode Update aufgerufen wird, wobei wiederum die Eigenschaft EditMode auf adEditNone gesetzt wird. Wenn Sie hingegen die Methode AddNew mit Parametern aufrufen, werden die Änderungen unmittelbar an den Provider gesendet, damit sie beim nächsten Aufruf von UpdateBatch in die Datenquelle geschrieben werden.

Unterstützt Ihr Recordset-Objekt Lesezeichen, wird der neue Datensatz am Ende Ihrer Datensatzgruppe eingefügt und ist jederzeit zugänglich. Unterstützt Ihr Recordset-Objekt jedoch keine Lesezeichen, ist es durchaus möglich, dass Sie auf den Datensatz nicht mehr zugreifen können, nachdem Sie ihn verlassen haben; Sie sollten sich also niemals darauf verlassen, dass er da ist. Verwenden Sie stattdessen die Methode Requery des Objekts Recordset, damit Ihre Anwendung das Feld finden kann.

 
Siehe auch

EditModeEnum-Enumeration, Recordset.EditMode-Eigenschaft, Recordset.Requery-Methode, Recordset.Update-Methode, Recordset.UpdateBatch-Methode

 
Eigenschaften Recordset.BOF/Recordset.EOF (Versionen 2.0, 2.1, 2.5, 2.6)

Boolean = recordset.BOF
Boolean = recordset.EOF
 

Die Eigenschaft BOF (Beginning of File) bedeutet, dass sich der Datensatzzeiger vor dem ersten Datensatz in der Gruppe befindet. Die Eigenschaft EOF (End of File) bedeutet, dass sich der Datensatzzeiger direkt hinter dem letzten Datensatz in der Gruppe befindet.

Datentyp

Boolean

 
Beschreibung

Die Eigenschaften BOF und EOF sind beide schreibgeschützt.

Ist sowohl die Eigenschaft BOF als auch EOF True, so ist die aktuelle Datensatzgruppe leer. Beim Verwenden einer Move-Methode (Move, MovePrevious, MoveFirst, MoveNext oder MovePrevious) wird ein Fehler erzeugt.

Ist sowohl die Eigenschaft BOF als auch EOF False, so zeigt der Datensatzzeiger auf irgendeinen Datensatz innerhalb der Datensatzgruppe. In diesem Fall lassen sich die Move-Methoden problemlos einsetzen.

Ist die Eigenschaft BOF True und die Eigenschaft EOF False, so zeigt der Datensatzzeiger auf die Position direkt vor dem ersten Datensatz innerhalb der Gruppe. In diesem Fall können Sie die Methode MovePrevious oder die Methode Move mit einer negativen Zahl verwenden, ohne einen Fehler zu erzeugen.

Ist die Eigenschaft EOF True und die Eigenschaft BOF False, so zeigt der Datensatzzeiger auf die Position direkt hinter dem letzten Datensatz in der Gruppe. In diesem Fall können Sie die Methode MoveFirst oder die Methode Move mit einer positiven Zahl verwenden, ohne einen Fehler zu erzeugen.

Wenn Sie den letzten Datensatz in der Gruppe löschen, bleiben die Eigenschaften BOF und EOF auf False gesetzt, bis Sie den Datensatzzeiger verlagern.

Wird durch Aufruf sowohl von MoveFirst als auch von MoveLast kein Datensatz gefunden, so werden die Eigenschaften EOF und BOF beide auf True gesetzt.

Kann weder MovePrevious noch Move – mit einem Wert kleiner Null – einen Datensatz finden, wird die Eigenschaft BOF auf True gesetzt.

Kann weder MoveNext noch Move – mit einem Wert größer Null – einen Datensatz finden, wird die Eigenschaft EOF auf True gesetzt.

 
Siehe auch

Recordset.Move-Methode, Recordset.MoveFirst-Methode, Recordset.MoveLast-Methode, Recordset.MoveNext-Methode, Recordset.MovePrevious-Methode, Recordset.Open-Methode

 
Eigenschaft Recordset.Bookmark (Versionen 2.0, 2.1, 2.5, 2.6)

bookmark = recordset.Bookmark
 

Die Eigenschaft Bookmark gibt einen eindeutigen Bezeichner für den aktuellen Datensatz in der Gruppe zurück. Indem die Eigenschaft Bookmark auf einen zuvor gelesenen Wert gesetzt wird, kann der Datensatzzeiger wieder auf den ursprünglichen Datensatz gesetzt werden.

Datentyp

Variant

 
Beschreibung

Die Eigenschaft Bookmark ist nur für Datensatzgruppen verfügbar, die Lesezeichen unterstützen. Lesezeichen werden zum Speichern der Position des aktuellen Datensatzes verwendet und später dazu, den aktuellen Datensatz wieder auf das angegebene Lesezeichen zu setzen.

Lesezeichen werden innerhalb von Recordset-Objekten, die Klons voneinander sind, austauschbar verwendet, aber nicht mit anderen Recordset-Objekten, selbst wenn diese aus derselben Quelle erstellt worden sind.

Der Rückgabewert der Eigenschaft Bookmark ist nicht lesbar und sollte in Vergleichen nicht verwendet werden, da zwei Lesezeichen auf denselben Datensatz nicht unbedingt identisch sind.

 
Hinweis

Nicht alle Provider unterstützen die Eigenschaft Bookmark.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.Supports-Methode

 
Eigenschaft Recordset.CacheSize (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CacheSize = cachesize
 

Die Eigenschaft CacheSize gibt an, wie viele Datensätze von ADO im lokalen System zwischengespeichert werden.

Datentyp

Long

 
Beschreibung

Die Eigenschaft CacheSize setzt oder liest die Anzahl an Datensätzen, die von ADO jeweils im lokalen Arbeitsspeicher gespeichert werden. Der Wert von CacheSize muss mindestens 1 betragen, ansonsten tritt ein Fehler auf. Der Standardwert der Eigenschaft CacheSize ist 1.

Wird eine Datensatzgruppe das erste Mal geöffnet, wird die von der Eigenschaft CacheSize festgelegte Anzahl an Datensätzen gelesen. Sobald der Datensatzzeiger auf einen Datensatz verlagert wird, der hinter dieser Zahl liegt, wird der nächste Satz an Datensätzen zurückgegeben, von denen der erste der nächste Datensatz in der Datensatzgruppe ist. Wenn weniger Datensätze verfügbar sind, fordert CacheSize nur diese an.

Die Eigenschaft CacheSize lässt sich für eine Datensatzgruppe jederzeit ändern, allerdings ändert sich die in den Cache gelesene Anzahl and Datensätzen erst, wenn der Zeiger auf einen Datensatz außerhalb des aktuellen Cache gesetzt wird.

Die Werte innerhalb des Cache spiegeln nicht die Änderungen wider, die von anderen Anwendern vorgenommen worden sind. Um dies zu erreichen, verwenden Sie die Methode Resync.

 
Siehe auch

Recordset.Resync-Methode

 
Methode Recordset.Cancel (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Cancel
 

Die Methode Cancel bricht eine asynchrone Operation für das Objekt Recordset ab.

Beschreibung

Die Methode Cancel können Sie aufrufen, um eine asynchrone Operation des von der Methode Open aufgerufen Recordset-Objekts abzubrechen.

 
Siehe auch

Recordset.Open-Methode

 
Methode Recordset.CancelBatch (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CancelBatch AffectRecords
 

Die Methode CancelBatch bricht die gerade anstehende Batch-Aktualisierung der aktuellen Datensatzgruppe ab.

Argumente
AffectRecords (AffectEnum)

Optional. Dieses Argument ist ein Enumerator mit dem Wert adAffectCurrent, adAffectGroup oder adAffectAll.

Wenn adAffectCurrent als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode CancelBatch nur auf eine anstehende Batch-Aktualisierung des aktuellen Datensatzes in der Gruppe aus.

Wenn adAffectGroup als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode CancelBatch nur auf die anstehenden Datensätze aus, die durch die Eigenschaft Filter des akutellen Recordset-Objekts festgelegt worden sind. Diese Eigenschaft muss bereits für die Methode CancelBatch gesetzt worden sein, damit sie mit dem Parameter adAffectGroup aufgerufen werden kann.

Wenn adAffectAll als Wert von AffectRecords übergeben wird, sind alle anstehenden Datensätze im aktuellen Recordset-Objekt (einschließlich der durch die Filter-Eigenschaft verborgenen) von der Methode CancelBatch betroffen.

 
Beschreibung

Mit der Methode CancelBatch können Sie beliebige oder alle anstehenden Aktualisierungen im aktuellen Recordset-Objekt vom Batch-Aktualisierungsmodus ausschließen. Wird die Methode jedoch im unmittelbaren Aktualisierungsmodus aufgerufen, so wird ein Fehler erzeugt.

Die Methode CancelUpdate wird durch die Methode CancelBatch aufgerufen und entfernt etwaige durch das Batch vorgenommene Aktualisierungen oder neu hinzugefügte Datensätze. Aus diesem Grund kann die aktuelle Datensatzposition ungültig sein, und es empfiehlt sich, dass Sie den Zeiger auf eine verlässliche Datensatzposition verlagern, und zwar entweder durch ein gültiges Lesezeichen oder durch eine Methode wie MoveFirst.

Tritt während des CancelBatch-Aufrufs ein Laufzeitfehler auf, so entstehen Konflikte mit allen Datensätzen, die von der aktuellen Datensatzgruppe angefordert worden sind. Sind nur einige wenige Datensätze vom Konflikt betroffen, so wird die Errors-Kollektion entsprechend aufgefüllt und es entsteht kein Laufzeitfehler.

 
Hinweis

Nicht alle Provider unterstützen die Eigenschaft CancelBatch.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.CancelUpdate-Methode, Recordset.Filter-Property, AffectEnum-Enumeration, Recordset.Supports-Methode

 
Methode Recordset.CancelUpdate (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CancelUpdate
 

Die Methode CancelUpdate nimmt alle Änderungen der aktuellen Batch-Aktualisierung zurück, die seit dem letzten Aufruf der Methoden AddNew oder Update vorgenommen worden sind.

Beschreibung

Die Methode CancelUpdate des Recordset-Objekts nimmt Änderungen zurück, die seit dem Aufruf von Update oder Recordset am Datensatz vorgenommen worden sind. Außerdem nimmt sie die mit AddNew durchgeführte Erstellung neuer Datensätze zurück.

Die Methode CancelUpdate kann nur vor der Update-Methode für den aktuellen Datensatz aufgerufen werden. Die einzige andere Möglichkeit, Änderungen an einem Datensatz zurückzunehmen, haben Sie durch das Transaktionsmanagement mit den Recordset-Methoden BeginTrans und RollbackTrans.

 
Siehe auch

Recordset.AddNew-Methode, Recordset.Update-Methode

 
Methode Recordset.Clone (Versionen 2.0, 2.1, 2.5, 2.6)

Set cloned_recordset = original_recordset.Clone
 

Die Methode Clone des Recordset-Objekts gibt einen Klon der aktuellen Datensatzgruppe zurück.

Rückgabewerte

Recordset-Objekt

 
Beschreibung

Die Methode Clone des Objekts Recordset erstellt ein exaktes Duplikat des ursprünglichen Recordset-Objekts. Verwenden Sie diese Methode, wenn Sie zu einem bestimmten Zeitpunkt innerhalb derselben Datensatzgruppe auf mehr als einen Datensatz zugreifen wollen. Das ist effizienter als das Erstellen eines neuen Recordset-Objekts für dieselbe Datensatzgruppe.

Beim Erstellen eines Klons wird seine Datensatzposition auf den ersten Datensatz in der Gruppe gesetzt.

Nur Datensatzgruppen, die Lesezeichen unterstützen, können geklont werden. Lesezeichen einer Datensatzgruppe sind auch für die Klons dieser Datensatzgruppe gültig, und umgekehrt. Durch das Schließen eines Klons wird die ursprüngliche Datensatzgruppe nicht geschlossen, und umgekehrt.

 
Siehe auch

LockTypeEnum-Enumeration

 
Methode Recordset.Close (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Close
 

Die Methode Close schließt ein Recordset-Objekt.

Beschreibung

Die Methode Close schließt entweder ein Connection- oder ein Recordset-Objekt. Wenn Sie diese Methode für eines der beiden Objekttypen aufrufen, werden alle von der Verbindung bzw. der Datensatzgruppe abhängigen Objekte ebenfalls geschlossen. Die Methode Close wird beispielsweise eingesetzt, um Systemressourcen freizusetzen ohne die Ressource aus dem Speicher zu löschen. Nachdem Sie ein Connection- oder Recordset-Objekt geschlossen haben, können Sie es wieder neu öffnen. Um das Objekt vollständig aus dem Speicher zu entfernen, setzen Sie es auf Nothing.

Wenn Sie die Close-Methode des Objekts Connection aufrufen, werden alle angeschlossenen Recordset-Objekte geschlossen, aber das angeschlossene Command-Objekt bleibt erhalten. Dabei wird die Eigenschaft ActiveConnection auf Nothing gesetzt und die Parameters-Kollektion des Command-Objekts wird bereinigt. Sie können weiterhin mit Hilfe der Methode Open eine Verbindung zu einer Datenquelle herstellen.

Wenn Sie ein Connection-Objekt schließen, an das geöffnete Recordset-Objekte angeschlossen sind, werden etwaige anstehende Änderungen am Recordset-Objekt zurückgerollt. Wird die Methode Close des Connection-Objekts aufgerufen, während eine Transaktion gerade verarbeitet wird, wird ein Fehler erzeugt. Wenn ein Connection-Objekt die Verbindung verliert, während eine Transaktion im Gange ist, wird die Transaktion automatisch zurückgerollt.

Wenn Sie die Methode Close auf das Recordset-Objekt anwenden, wird ein exklusiver Zugriff auf die Daten wieder aufgehoben und etwaige verbundene Daten werden freigegeben. Sie können die Open-Methode später wieder auf dieses Recordset-Objekt anwenden.

Befindet sich Ihre Datenquelle im unmittelbaren Aktualisierungsmodus und die Close-Methode wird während eines Bearbeitungsvorgangs aufgerufen, entsteht ein Fehler. Um einen solchen Fehler zu vermeiden, rufen Sie entweder die Methode Update oder die Methode CancelUpdate auf. Wenn Sie sich im Batch-Aktualisierungsmodus befinden, gehen die Daten seit dem letzten UpdateBatch verloren.

Haben Sie ein Recordset-Objekt geklont, dessen Close-Methode Sie aufgerufen haben, so wird das geklonte Recordset-Objekt nicht geschlossen, und umgekehrt.

 
Siehe auch

Recordset.ActiveConnection-Eigenschaft, Recordset.CancelUpdate-Methode, Recordset.Open-Methode, Recordset.Update-Methode

 
Methode Recordset.CompareBookmarks (Versionen 2.0, 2.1, 2.5, 2.6)

result = recordset.CompareBookmarks (Bookmark1, Bookmark2)
 

Die Methode CompareBookmarks bestimmt die Position von zwei Bookmarks in einer Datensatzgruppe. Die Position wird als relative Position zueinander bestimmt.

Argumente
Bookmark1 (Variante)

Dieses Argument bezeichnet ein Lesezeichen auf die erste zu vergleichende Zeile.

Bookmark2 (Variante)

Dieses Argument bezeichnet ein Lesezeichen auf die zweite zu vergleichende Zeile.

 
Rückgabewerte

CompareEnum

 
Beschreibung

Die Methode CompareBookmark gibt einen Wert zurück, der anzeigt, welches von zwei übergebenen Lesezeichen innerhalb der Ordinalposition zuerst kommt. Lesezeichen sind eindeutig für Zeilen innerhalb einer Datensatzgruppe und ihren Klonen. Der Vergleich von Lesezeichen aus verschiedenen Datensatzgruppen (die nicht durch Klonen erzeugt wurden) liefert keine zuverlässigen Ergebnisse.

Sie erhalten das Lesezeichen der aktuellen Zeile, indem Sie die Eigenschaft Bookmark lesen.

 
Siehe auch

CompareEnum-Enumeration, Recordset.Bookmark-Eigenschaft, Recordset.Clone-Methode

 
Eigenschaft Recordset.CursorLocation (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CursorLocation = cursorlocation
 

Die Eigenschaft CursorLocation gibt die Adresse des Cursordienstes an.

Datentyp

CursorLocationEnum (Long)

 
Beschreibung

Der Wert der Eigenschaft CursorLocation kann auf einen der in Anhang E aufgeführten gültigen CursorLocationEnum-Werte gesetzt werden.

Bei geschlossenen Recordset-Objekten besteht für die Eigenschaft CursorLocation Lese- und Schreibberechtigung, bei geöffneten Recorset-Objekten darf dieser Wert nur gelesen werden.

Eine von der Methode Execute zurückgegebene Datensatzgruppe erbt den Wert für die Cursorposition aus dem Originalobjekt. Recordset-Objekte erben diesen Wert automatisch von dem Connection-Objekt, das sie eingerichtet hat.

 
Siehe auch

Command.Object-Methode, Connection.Execute-Methode, CursorLocationEnum-Enumeration, Recordset.Open-Methode

 
Eigenschaft Recordset.CursorType (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CursorLocation = cursorlocation
 

Die Eigenschaft CursorType bezeichnet den für die aktuelle Datensatzgruppe zu verwendenden Cursortyp.

Datentyp

CursorTypeEnum (Long)

 
Beschreibung

Die Eigenschaft CursorType bezeichnet den Cursortyp, der verwendet werden soll, wenn die aktuelle Datensatzgruppe geöffnet wird. Für diese Eigenschaft besteht Lese- und Schreibberechtigung, wenn das Objekt Recordset geschlossen ist. In geöffnetem Zustand ist es schreibgeschützt. Als Wert für die Eigenschaft CursorType ist eine der in Anhang E aufgeführten CursorType-Enumerationen zulässig.

Unterstützt der aktuelle Datenprovider den gewählten Cursortyp nicht, so ändert sich der Wert der Eigenschaft CursorType, wenn das Objekt Recordset geöffnet wird. Dieser Wert kann bei Bedarf von der Anwendung gelesen werden. Wird dann das Recordset-Objekt wieder geschlossen, wird der ursprünglich gewählte Wert wieder an die Eigenschaft CursorType übergeben.

Anhand der Methode Supports des Recordset-Objekts können Sie feststellen, welche Funktionalität vom gewählten Cursortyp unterstützt wird. (Weitere Informationen über Cursortypen erhalten Sie in Kapitel 5.)

Der dynamische Cursor (Dynamic) unterstützt die von der Methode Supports beschriebene adMovePrevious-Funktionalität. Der Vorwärtscursor (Forward Only) unterstützt keine der Funktionalitäten, die die Supports-Methode beschreibt. Der Schlüsselcursor (Keyset) und der statische Cursor (Static) unterstützten die von der Methode Supports beschriebenen Funktionalitäten adBookmark, adHoldRecords, adMovePrevious und adResync functionality.

Der Vorwärtscursor unterstützt keine Lesezeichen, da die Funktionalität für das Zurückspringen auf einen Datensatz mit Lesezeichen fehlt. Der statische und der Schlüsselcursor unterstützen Lesezeichen über ADO, und der dynamisch Cursor unterstützt Lesezeichen über den Datenprovider (falls dieser sie unterstützt).

 
Hinweis

Wurde die Eigenschaft CursorLocation auf adUseClient gesetzt, kann nur der CursorType-Wert adOpenStatic verwendet werden.

 
Siehe auch

Connection.CursorLocation-Eigenschaft, CursorTypeEnum-Enumeration, Recordset.CursorLocation-Eigenschaft, Recordset.Open-Methode, Recordset.Supports-Methode

 
Eigenschaft Recordset.DataMember RDM-Eigenschaft (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.DataMember = datamember
recordset.DataSource = datasource
 

Die Eigenschaft DataMember bezeichnet das Objekt in der von der Eigenschaft DataSource angegebenen Datenquelle, mit dem das Recordset-Objekt erstellt werden soll.

Datentyp
String (Eigenschaft DataMember) DataSource (Eigenschaft DataSource)
 
Beschreibung

Die Eigenschaften DataMember und DataSource werden immer zusammen verwendet.

Die Eigenschaft DataSource bezeichnet die Datenquelle, in der sich das durch DataMember angegebene Objekt befindet.

Die Eigenschaft DataMember gibt an, welches Objekt innerhalb der Datenquelle zur Erstellung des Recordset-Objekts verwendet werden soll.

Das Recordset-Objekt muss geschlossen werden, wenn die Eigenschaft DataMember gesetzt wird. Es entsteht auch ein Fehler, wenn die Eigenschaft DataSource vor der Eigenschaft DataMember gesetzt wird.

 
Methode Recordset.Delete (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Delete AffectRecords
 

Die Methode Delete löscht bestimmte Datensätze innerhalb einer Datensatzgruppe.

Argumente
AffectRecords (Affect Enum)

Optional. Dieses Argument bezeichnet entweder den Wert adAffectCurrent oder den Wert adAffectGroup.

Wenn adAffectCurrent als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode CancelBatch nur auf eine anstehende Batch-Aktualisierung des aktuellen Datensatzes in der Gruppe aus.

Wenn adAffectGroup als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode CancelBatch nur auf die anstehenden Datensätze aus, die durch die Eigenschaft Filter des akutellen Recordset-Objekts festgelegt worden sind. Diese Eigenschaft muss bereits für die Methode CancelBatch gesetzt worden sein, damit sie mit dem Parameter adAffectGroup aufgerufen werden kann.

 
Beschreibung

Die Methode Delete löscht einen Datensatz oder eine Gruppe von Datensätzen, die mit dem Recordset-Objekt verwendet werden. Die Methode Delete entfernt ein bestimmtes Parameter-Objekt aus der Parameter-Kollektion, wenn es darin verwendet wird.

Wenn Sie die Methode Delete mit dem Recordset-Objekt zusammen verwenden, werden die zu löschenden Datensätze nur für das Löschen markiert. Gestattet die betreffende Datensatzgruppe keine Löschung, entsteht ein Fehler. Im unmittelbaren Aktualisierungsmodus wird die Löschung sofort durchgeführt. Im Batch-Aktualisierungsmodus jedoch werden die Datensätze für das Löschen markiert und zwischengespeichert, bis die Methode UpdateBatch aufgerufen wird. Die gelöschten Datensätze können mit Hilfe der Eigenschaft Filter angezeigt werden.

Nachdem Sie einen Datensatz gelöscht haben, steht die aktuelle Datensatzposition immer noch auf diesem Datensatz. Sobald Sie den Cursor verlagern, kann auf die Datensätze nicht mehr zugegriffen werden, und beim Versuch, einen gelöschten Datensatz zu lesen, entsteht ein Fehler. Wenn Sie Transaktionsmanagement mit BeginTrans verwenden, können Sie eine Löschung von Datensätzen mit der Methode RollbackTrans rückgängig machen. Im Batch-Aktualisierungsmodus haben Sie außerdem die Möglichkeit, eine Löschung aufzuheben, indem Sie die Methode CancelBatch anwenden.

Wenn Sie versuchen, einen Datensatz zu löschen, der bereits von einem anderen Anwender gelöscht worden ist, so entsteht kein Laufzeitfehler, aber die Errors-Kollektion wird mit Warnungen gefüllt. Ein Laufzeitfehler tritt nur auf, wenn alle angeforderten Datensätze, die gelöscht werden sollen, aus irgendeinem Grund einen Konflikt aufweisen. Um herauszufinden, welche Datensätze Konflikte aufweisen, verwenden Sie die Eigenschaft Filter mit dem Wert adFilterAffectedRecords und der Eigenschaft Status.

Die Methode Delete ist nur für die Parameters-Kollektion des Command-Objekts zulässig. Den Namen des aus der Kollektion zu löschenden Parameters geben Sie in Form eines Strings an.

 
Hinweis

Nicht alle Provider unterstützen die Methode Delete.

 
Siehe auch

AffectEnum-Enumeration, Connection.RollbackTrans-Methode, CursorOptionEnum-Enumeration, Recordset.CancelBatch-Methode, Recordset.Filter-Eigenschaft, Recordset.Status-Eigenschaft, Recordset.Supports-Methode

 
Eigenschaft Recordset.EditMode (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.EditMode = editmode
 

Die Eigenschaft EditMode bezeichnet den aktuellen Bearbeitungsstatus eines bestimmten Datensatzes.

Datentyp

EditModeEnum (Long)

 
Beschreibung

Mit der Eigenschaft EditMode legen Sie fest, ob der aktuelle Datensatz geändert wird, wenn ein Bearbeitungsvorgang unterbrochen worden ist. Anhand dieser Information können Sie bestimmen, ob Sie die Methode Update oder die Methode CancelUpdate aufrufen müssen.

Als Wert für die Eigenschaft EditMode ist eine der in Anhang E aufgeführten EditModeEnum-Enumerationen zulässig.

 
Siehe auch

EditModeEnum-Enumeration, Recordset.AddNew-Methode, Recordset.CancelUpdate-Methode, Recordset.Update-Methode

 
Ereignis Recordset.EndOfRecordset (Versionen 2.0, 2.1, 2.5, 2.6)

EndOfRecordset(fMoreData As Boolean, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis EndOfRecordset wird aufgerufen, wenn versucht wurde, den Datensatzzeiger hinter das Ende der Datensatzgruppe zu verlagern.

Argumente
fMoreData

Um das aktuelle Ereignis ungültig zu machen, kann ein Wert vom Typ VARIANT_BOOL auf True gesetzt werden, wenn von der Anwendung weitere Daten hinzugefügt wurden. Anders ausgedrückt: wenn dieses Ereignis ausgelöst wird, ist es ein Anzeichen dafür, dass der Datensatzzeiger aus der Datensatzgruppe hinausgesetzt wurde. Zu diesem Zeitpunkt können Sie weitere Datensätze an die Gruppe anhängen und den Parameter fMoreData auf True setzen, damit die Operation erneut versucht werden kann.

adStatus

Dieses Argument ist ein EventStatusEnum-Wert, der den Status der aktuellen Operation darstellt. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument bezeichnet das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventStatusEnum-Enumeration, Recordset.MoveNext-Methode

 
Eigenschaft Recordset.EOF (Versionen 2.0, 2.1, 2.5, 2.6)
 

Siehe Recordset.BOF-Eigenschaft.

Ereignis Recordset.FetchComplete (Versionen 2.0, 2.1, 2.5, 2.6)

FetchComplete(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis FetchComplete wird aufgerufen, wenn eine lang andauernde asynchrone Operation (Fetch) abgeschlossen ist und alle Datensätze zurückgegeben worden sind.

Argumente
pError

Dieses Argument ist ein Error-Objekt mit Detailangaben über einen aufgetretenen Fehler, sofern der Parameter adStatus auf adStatusErrorsOccurred gesetzt ist.

adStatus

Dieses Argument ist ein EventStatusEnum-Wert, der den Status der aktuellen Operation darstellt. Wenn der Parameter adStatus auf adStatusOK gesetzt ist, bedeutet dies, dass die Operation erfolgreich verlaufen ist. Weist der Parameter adStatus den Wert adStatusErrorsOccurred auf, so ist die Operation fehlgeschlagen, und das Objekt pError enthält genaue Auskunft über den Fehler. Indem Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument bezeichnet das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventStatusEnum-Enumeration

 
Ereignis Recordset.EndOfRecordset (Versionen 2.0, 2.1, 2.5, 2.6)

FetchProgress(ByVal Progress As Long, _
ByVal MaxProgress As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis FetchProgress wird während einer lang andauernden asynchronen Operation (Fetch) aufgerufen, um zu berichten, wie weit die Operation fortgeschritten ist.

Argumente
Progress

Dieses Argument ist ein Long-Wert, der die Anzahl der bisher abgerufenen Datensätze beschreibt.

MaxProgress

Dieses Argument ist ein Long-Wert, der die maximal zu erwartende Anzahl an Datensätzen beschreibt.

adStatus

Dieses Argument ist ein EventStatusEnum-Wert, der den Status der aktuellen Operation darstellt. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument bezeichnet das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventStatusEnum-Enumeration, Recordset.FetchProgress-Ereignis

 
Ereignis Recordset.FieldChangeComplete (Versions 2.5, 2.6)

FieldChangeComplete(ByVal cFields As Long, _
ByVal Fields As Variant, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis FetchChangeComplete wird aufgerufen, nachdem eine Operation einen oder mehrere Werte des Objekts Field geändert hat.

Argumente
cFields (Long)

Dieses Argument bezeichnet die Anzahl an Field-Objekten innerhalb des Fields-Parameters.

Fields (Varianten-Array)

Dieses Argument enthält die Field-Objekte, die auf eine Änderung warten.

pError (Error)

Dieses Argument enthält Detailangaben über einen aufgetretenen Fehler, sofern der Parameter adStatus auf adStatusErrorsOccurred gesetzt ist.

adStatus (EventStatusEnum)

Dieses Argument bezeichnet den Status der aktuellen Operation. Wenn der Parameter adStatus auf adStatusOK gesetzt ist, bedeutet dies, dass die Operation erfolgreich verlaufen ist. Weist der Parameter adStatus den Wert adStatusErrorsOccurred auf, so ist die Operation fehlgeschlagen, und das Objekt pError enthält genaue Auskunft über den Fehler. Ist der Parameter adStatus auf adStatusCancel gesetzt, so wurde die Operation vor ihrem Abschluss von der Anwendung abgebrochen. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventStatusEnum-Enumeration, Recordset.WillChangeField-Ereignis, Recordset.Value, Recordset.Update

 
Kollektion Recordset.Fields (Versionen 2.0, 2.1, 2.5, 2.6)

record.Fields
 

Die Field-Kollektion enthält mehrere Field-Objekte für das aktuelle Recordset-Objekt, eines für jede Spalte in der Datensatzgruppe.

Datentyp

Fields (Kollektionsobjekt)

 
Beschreibung

Die Fields-Kollektion eines Recordset-Objekts kann vor dem Öffnen eines Recordset-Objekts aufgefüllt werden. Dazu rufen Sie die Methode Refresh der Fields-Kollektion auf.

Field-Objekte können zur Kollektion entweder durch Aufruf der Methode Field.Append hinzugefügt werden oder durch Verweis auf ein Field-Objekt über einen Namen, der nicht bereits Teil der Kollektion ist. Durch Aufruf der Methode Field.Update wird das Feld zur Kollektion hinzugefügt; wenn möglich innerhalb der Datenquelle. Bis zu diesem Zeitpunkt gibt die Eigenschaft Field.Status den Wert adFieldPendingInsert zurück.

 
Siehe auch

Field.Append-Methode, Field.Refresh-Methode, Field.Update-Methode

 
Eigenschaft Recordset.Filter (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.CancelBatch AffectRecords
 

Die Eigenschaft Filter filtert eine Auswahl an Datensätzen innerhalb des aktuellen Recordset-Objekts.

Datentyp

Variant

 
Beschreibung

Wenn Sie die Eigenschaft Filter setzen, wird der Cursortyp auf die aktuell gefilterte Datensatzgruppe geändert. In diesem Fall sind die Eigenschaften AbsolutePosition, AbsolutePage, RecordCount und PageCount betroffen, da der Datensatz zum aktuellen Datensatz wird, der die von der Eigenschaft Filter vorgeschriebenen Anforderungen erfüllt..

Für die Eigenschaft Filter sind drei Arten von Werten zulässig:

  • Ein Satz an Klauseln, die mit dem Schlüsselwort AND oder OR verbunden sind.

  • Ein Array an Lesezeichenwerten.

  • Ein FilterGroupEnum-Enumerationswert.

Klauseln ähneln den WHERE-Klauseln in SQL-Anweisungen. Sie bestehen aus einem Feldnamen, einem Operator und einem Wert. Mehrere Klauseln lassen sich mit den Schlüsselwörtern AND und OR gruppieren und verbinden. Der Name eines Felds in einer Klausel muss innerhalb der aktuellen Datensatzgruppe zulässig sein, und wenn er Leerzeichen enthält, muss er in eckige Klammern gesetzt werden ([Telefon geschäftlich]). Innerhalb einer Klausel ist einer der folgenden Operatoren zulässig: <, >, <=, >=, <>, = oder LIKE. Der Wert innerhalb einer Klausel ist ähnlich wie die Daten innerhalb des angegebenen Felds. Für die Darstellung von Zahlen sind Dezimalzeichen, Dollarzeichen und die Exponentialschreibweise zulässig. Datumsangaben werden von Doppelkreuzzeichen (#) (#06/20/1973#) eingeschlossen und Strings von halben Anführungszeichen ('Jason T. Roff').

Wenn Sie das Schlüsselwort LIKE als Operator verwenden, sind als Platzhalter nur das Sternchen (*) und das Prozentzeichen (%) zulässig, wobei sich eins der beiden Zeichen am Ende des Werts befinden muss (Jason* oder *as*).

Wenn Sie die Eigenschaft Filter auf ein Array aus Lesezeichen setzen, müssen die Lesezeichen innerhalb der Datensatzgruppe eindeutig sein, d. h. auf verschiedene Datensätze zeigen.

Wenn Sie den Filter auf eine FilterGroupEnum-Enumeration setzen, wählen eine der in Tabelle E-25 aufgelisteten Konstanten aus.

Die Filter-Eigenschaft kann wegen eines Datensatzes, der von einem anderen Anwender gelöscht worden ist, fehlschlagen. Dabei tritt kein Laufzeitfehler auf, aber die Errors-Kollektion wird mit Warnungen gefüllt. Ein Laufzeitfehler tritt nur auf, wenn alle angeforderten Datensätze, die gefiltert werden sollen, aus irgendeinem Grund einen Konflikt aufweisen. Mit Hilfe der Eigenschaft Status können Sie herausfinden, welche Datensätze Konflikte aufweisen.

 
Siehe auch

AffectEnum-Enumeration, FilterGroupEnum-Enumeration, Recordset.AbsolutePage-Eigenschaft, Recordset.AbsolutePosition-Eigenschaft, Recordset.CancelBatch-Methode, Recordset.Delete-Eigenschaft, Recordset.PageCount-Eigenschaft, Recordset.RecordCount-Eigenschaft, Recordset.Resync-Methode, Recordset.UpdateBatch-Methode

 
Methode Recordset.Find (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Find (Criteria, SkipRows, SearchDirections, Start)
 

Die Methode Find verlagert den Datensatzzeiger auf eine Zeile innerhalb der aktuellen Datensatzgruppe, die dem einspaltigen Suchkriterium entspricht.

Argumente
Criteria (String)

Dieses Argument erlaubt die Angabe eines Suchkriteriums, das sich auf eine einzige Spalte bezieht, und zwar in der Form 'Column Operator Value'. Column steht für den Namen einer Spalte im Recordset-Objekt. Zulässige Operatoren sind >, <, =, >=, <=, <> und LIKE. Der Wert kann als String, Gleitzahl oder Datum angegeben werden. Strings werden durch einzelne Strings oder Nummernzeichen (#) getrennt und Datumsangaben durch Nummernzeichen (#). Wenn Sie den Operator LIKE verwenden, können am Ende des Werts oder am Anfang und am Ende Sternchen (*) verwendet werden ('*jr*', 'jr*'). Wird nur am Anfang ein Sternchen angebeben, entsteht ein Fehler.

SkipRows (Long)

Optional. Dieses Argument gibt an, wie viele Zeilen auszulassen sind, bevor die Datensatzgruppe nach einer Übereinstimmung mit dem Argument Criteria durchsucht werden soll. Der Standardwert ist 0, damit beginnt die Suche ab der aktuellen Zeile.

SearchDirection (SearchDirectionEnum)

Optional. Dieses Argument legt fest, ob die Datensatzgruppe vorwärts oder rückwärts durchsucht werden soll. Wird keine Übereinstimmung gefunden und es wird eine Vorwärtssuche ausgeführt, so zeigt der Datensatzzeiger auf die EOF-Marke. Wird eine Rückwärtssuche ausgeführt und es wird keine Übereinstimmung gefunden, zeigt der Datensatzzeiger auf die BOF-Marke. Standardmäßig wird eine Vorwärtssuche ausgeführt.

Start (Variante)

Optional. Dieses Argument bestimmt eine Startposition für die Suche in der Form eines Lesezeichens. Der Standardwert für dieses Argument ist die aktuelle Zeile.

 
Beschreibung

Wird vor dem Aufruf der Methode Find kein aktueller Datensatz bestimmt, so entsteht ein Fehler. Es ist eine gute Angewohnheit, zuerst die Methode MoveFirst und erst danach die Methode Find aufzurufen.

Die Methode Find funktioniert nur für Suchkriterien, die sich auf eine einzige Spalte beziehen.

Nicht alle Provider unterstützen Lesezeichen und können daher keine Rückwärtssuche vornehmen. Mit der Methode Supports finden Sie heraus, ob Ihr aktueller Datenprovider die Find-Operation, die Sie verwenden wollen, auch unterstützt.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.MoveFirst-Methode, Recordset.Supports-Methode, SearchDirectionEnum-Enumeration

 
Methode Recordset.GetRows (Versionen 2.0, 2.1, 2.5, 2.6)

Set record_array = recordset.GetRows(Rows, Start, Fields)
 

Die GetRows-Methode des Recordset-Objekts gibt mehrere Datensätze aus einem geöffneten Recordset-Objekt zurück, und zwar in Form eines Arrays.

Argumente
Rows (Long)

Optional. Dieses Argument gibt an, wie viele Datensätze abzurufen sind. Der Standardwert ist adGetRowsRest (mit dem Wert -1).

Start (String oder Variante)

Optional. Dieses Argument liefert ein Lesezeichen, das bestimmt, wo die Methode GetRows beginnen soll.

Fields (Variante)

Optional. Dieses Argument gibt an, welche Felder von der Methode GetRows zurückgegeben werden sollen. Es repräsentiert den Namen eines einzelnen Felds, die Ordinalzahl eines einzelnen Felds, ein Array an Feldnamen oder ein Array an Feldordinalzahlen.

 
Rückgabewerte
Variant (zweidimensionales Array)
 
Beschreibung

Die Methode GetRows des Recordset-Objekts schreibt mehrere Datensätze aus einer Datensatzgruppe in ein zweidimensionales Array. Die Datensätze werden in Form eines Varianten-Arrays zurückgegeben, dessen Dimensionen von ADO automatisch gesetzt werden. Der erste Index ist das Feld, der zweite die Datensatznummer. Die zurückgegebenen Daten sind schreibgeschützt.

Über das erste Argument können Sie festlegen, wie viele Datensätze zurückgegeben werden sollen. Ist dieser Wert größer als die Anzahl an Datensätzen, werden nur die verbleibenden Datensätze zurückgegeben.

Unterstützt das gewählte Recordset-Objekt Lesezeichen, können Sie die Startposition auch über den Wert der Eigenschaft Bookmark für den betreffenden Datensatz angeben.

Nach Aufruf von GetRows wird der Datensatzzeiger auf den nächsten ungelesenen Datensatz gesetzt. Sind keine weiteren Datensätze vorhanden, nimmt die Eigenschaft EOF den Wert True an.

Das letzte Argument, Fields, kann ein einzelnes Feld repräsentieren oder eine Gruppe von Feldern und bildet den Rückgabewert der Methode GetRows. Der Wert wird als Name eines einzelnen Felds, als Ordinalzahl eines einzelnen Felds, als Array an Feldnamen oder als Array an Feldordinalzahlen zurückgegeben.

 
Hinweis

Nicht alle Provider unterstützen die Methode GetRows.

 
Siehe auch

BookmarkEnum-Enumeration, CursorOptionEnum-Enumeration, GetRowsOptionEnum-Enumeration, Recordset.Bookmark-Eigenschaft, Recordset.EOF-Eigenschaft, Recordset.Supports-Methode

 
Methode Recordset.GetString (Versionen 2.0, 2.1, 2.5, 2.6)

Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, _
RowDelimiter, NullExpr)
 

Die Methode GetString gibt das gesamte Recordset-Objekt als String zurück.

Argumente
StringFormat (StringFormatEnum)

Dieses Argument bezeichnet das Format der zurückgegebenen Datensatzgruppe als String-Format.

NumRows

Optional. Dieses Argument bezeichnet die Anzahl der in einen String zu konvertierenden Anzahl an Zeilen. Fehlt dieses Argument oder ist sein Wert größer als die Gesamtzahl an Datensätzen im Recordset-Objekt, werden alle Datensätze konvertiert.

ColumnDelimeter

Optional. Dieses Argument wird nur verwendet, wenn der Parameter StringFormat auf adClipString gesetzt ist. Es bezeichnet das Trennzeichen zwischen den Spalten. Das Standardtrennzeichen ist das Tabulatorzeichen.

RowDelimeter

Optional. Dieses Argument wird nur verwendet, wenn der Parameter StringFormat auf adClipString gesetzt ist. Es bezeichnet das Trennzeichen zwischen den Zeilen. Standard ist das Zeilenumbruchzeichen (CR).

NullExpr

Optional. Dieses Argument wird nur verwendet, wenn der Parameter StringFormat auf adClipString gesetzt ist. Es bezeichnet den String, der anstelle des Null-Zeichens ausgegeben wird. Standard ist ein leerer String.

 
Rückgabewerte

Variant

 
Beschreibung

Die Methode GetString konvertiert den Inhalt des Recordset-Objekts in einen String-Wert.

 
Siehe auch

StringFormatEnum-Enumeration

 
Eigenschaft Recordset.Index (Versionen 2.1, 2.5, 2.6)

recordset.Index = index
 

Die Eigenschaft Index setzt den aktuellen Index einer bestimmten Datensatzgruppe.

Datentyp

String

 
Beschreibung

Für die Eigenschaft Index besteht sowohl Lese- als auch Schreibberechtigung. Sie kann jedoch nicht innerhalb eines WillRecordsetChange- oder eines RecordsetChangeComplete-Ereignisses oder während einer asynchronen Ausführung gesetzt werden.

Die Eigenschaft Index wird mit der Methode Seek zusammen verwendet, um die der Tabelle zugrunde liegende indizierte Struktur zu nutzen (im Gegensatz zur Methode Find, die sequentiell arbeitet).

Es ist möglich, dass sich beim Setzen des Index die Position des Datensatzzeigers ändert (d. h. es wird der Wert der Eigenschaft AbsolutePosition geändert). Außerdem treten die folgenden Ereignisse auf: WillRecordsetChange, RecordsetChangeComplete, WillMove und MoveComplete.

Ist die Eigenschaft LockType auf adLockPessimistic oder adLockOptimistic gesetzt, wird die Methode UpdateBatch aufgerufen und gegebenenfalls anzuwendende Filter werden freigegeben. Zudem wird der Datensatzzeiger auf den ersten Datensatz in der indizierten Datensatzgruppe verlagert.

 
Hinweis

Nicht alle Provider unterstützten Indexe und somit auch nicht die Eigenschaft Index.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.MoveComplete-Ereignis, Recordset.RecordsetChangeComplete-Ereignis, Recordset.Seek-Methode, Recordset.UpdateBatch-Methode, Recordset.WillMove-Ereignis, Recordset.WillRecordsetChange-Ereignis, Recordset.Supports-Methode

 
Eigenschaft Recordset.LockType (Versionen 2.0, 2.1, 2.5, 2.6)

locktype = recordset.LockType
 

Die Eigenschaft LockType bezeichnet die Art von Sperren, die auf Datensätze gesetzt werden, wenn sie bearbeitet werden.

Datentyp

LockTypeEnum (Long)

 
Beschreibung

Für die Eigenschaft LockType besteht Lese- und Schreibberechtigung, wenn das Recordset-Objekt geschlossen ist. Ist es geöffnet, ist LockType schreibgeschützt. Die Eigenschaft LockType kann einen der in Tabelle E-29 aufgeführten Werte annehmen.

 
Hinweis

Manche Provider unterstützen bestimmte Arten der Datensatzsperre nicht. In diesem Fall ist es möglich, dass der Datenprovider automatisch einen anderen Sperrmechanismus verwendet. Welche Funktionalitäten bei Ihrem Datenprovider verfügbar sind, finden Sie anhand der Eigenschaft Supports heraus.

 
Siehe auch

LockTypeEnum-Enumeration, Recordset.Open-Methode, Recordset.Supports-Methode, Recordset.Update-Methode

 
Eigenschaft Recordset.MarshalOptions (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.MarshalOptions = marshaloptions
 

Die Eigenschaft MarshalOptions zeigt an, welche Datensätze an den Server zurückbeordert werden.

Datentyp

MarshalOptionsEnum (Long)

 
Beschreibung

Die Eigenschaft MarshalOptions nimmt einen der in Anhang E angeführten MarshalOptionsEnum-Enumerationswerte an.

 
Siehe auch

MarshalOptionsEnum-Enumeration

 
Eigenschaft Recordset.MaxRecords (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.MaxRecords = maxrecords
 

Die Eigenschaft MaxRecords gibt an, wie viele Datensätze bei einer Abfrage maximal an die Datensatzgruppe zurückzugeben sind.

Datentyp

Long

 
Beschreibung

Für die Eigenschaft MaxRecords besteht Lese- und Schreibberechtigung, wenn das Recordset-Objekt geöffnet ist. Ist es geschlossen, ist MaxRecords schreibgeschützt. Ein Wert von 0 (Standard) bedeutet, dass alle aus einer Abfrage resultierenden gültigen Datensätze zurückgegeben werden.

 
Methode Recordset.Move (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Move NumRecords, Start
 

Die Methode Move des Recordset-Objekts verlagert die Position des Datensatzzeigers innerhalb des angegebenen Recordset-Objekts.

Argumente
NumRecords (Long)

Dieses Argument gibt an, um wie viele Datensätze der Zeiger verlagert werden soll.

Start (String oder Variante)

Optional. Dieses Argument repräsentiert das Lesezeichen, von dem aus der Datensatzzeiger verlagert werden soll.

 
Beschreibung

Die Methode Move des Recordset-Objekts verlagert den Datensatzzeiger um eine bestimmte Anzahl an Datensätzen. Ist das Argument NumRecords kleiner als Null, wird der Zeiger um die gewünschte Anzahl zurückverlagert. Ist das Argument NumRecords größer als Null, so wird der Zeiger um die gewünschte Anzahl nach vorne verlagert.

Unterstützt das aktuelle Recordset-Objekt Lesezeichen, so können Sie mit dem Argument Start eine Anfangsposition bestimmen, ab der der Datensatzzeiger verlagert werden soll. Das Argument Start sollte auf ein gültiges Lesezeichen innerhalb des aktuellen Recordset-Objekts gesetzt werden, so dass der Zeiger von diesem Punkt aus um die gewünschte Anzahl an Datensätzen verlagert wird. Wird kein Lesezeichen verwendet, so wird der Datensatzzeiger vom aktuellen Datensatz aus verlagert.

Beim Versuch, den Zeiger auf einen Punkt vor dem ersten Datensatz zu verlagern, wird er vor den ersten Datensatz verlagert, nämlich auf die BOF-Marke. Und beim Versuch, den Zeiger hinter den letzten Datensatz zu verlagern, wird hinter den letzten Datensatz, nämlich auf die EOF-Marke, verlagert. Wird versucht, anhand der Methode Move den Zeiger jenseits der BOF- bzw. EOF-Marke zu verlagern, wird ein Fehler erzeugt.

Haben Sie die Eigenschaft CacheSize so eingestellt, dass Datensätze vom Datenprovider lokal zwischengespeichert werden, und Sie geben einen NumRecords-Wert an, der außerhalb des Caches liegt, so ist ADO gezwungen, eine neue Gruppe an Datensätzen vom Provider abzurufen. Wie viele Datensätze jeweils abgerufen werden, ist abhängig von der Eigenschaft CacheSize. Dasselbe passiert, wenn Sie einen lokalen Cache verwenden und das Start-Argument angeben. Der erste der zu empfangenden Datensätze ist der gewünschte Zieldatensatz.

Auch wenn das Recordset-Objekt eine Rückwärtsverlagerung nicht erlaubt, können Sie einen negativen NumRecords-Wert angeben, solange er innerhalb des aktuellen Cache liegt. Liegt die so definierte Position jedoch vor dem aktuellen Cache, entsteht ein Fehler.

 
Hinweis

Nicht alle Provider unterstützen die Methode Move.

 
Siehe auch

BookmarkEnum-Enumeration, Recordset.Bookmark-Eigenschaft, Recordset.CacheSize-Eigenschaft

 
Ereignis Recordset.MoveComplete (Versionen 2.0, 2.1, 2.5, 2.6)

MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis MoveComplete wird aufgerufen, nachdem eine Operation die Position des Datensatzzeigers innerhalb des Recordset-Objekts geändert hat.

Argumente
adReason (EventReasonEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnMoveFirst, adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove und adRsnRequery.

pError (Fehler)

Dieses Argument enthält Detailangaben über einen aufgetretenen Fehler, sofern der Parameter adStatus auf adStatusErrorsOccurred gesetzt ist.

adStatus (EventStatusEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Wenn der Parameter adStatus auf adStatusOK gesetzt ist, bedeutet dies, dass die Operation erfolgreich verlaufen ist. Weist der Parameter adStatus den Wert adStatusErrorsOccurred auf, so ist die Operation fehlgeschlagen, und das Objekt pError enthält genaue Auskunft über den Fehler. Ist der Parameter adStatus auf adStatusCancel gesetzt, so wurde die Operation vor ihrem Abschluss von der Anwendung abgebrochen. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, Recordset.AbsolutePage-Eigenschaft, Recordset.AbsolutePosition-Eigenschaft, Recordset.AddNew-Methode, Recordset.Bookmark-Methode, Recordset.Filter-Eigenschaft, Recordset.Index-Eigenschaft, Recordset.Open-Methode, Recordset.Move-Methode, Recordset.MoveFirst-Methode, Recordset.MoveLast-Methode, Recordset.MoveNext-Methode, Recordset.MovePrevious-Methode, Recordset.Requery-Methode, Recordset.WillMove-Ereignis

 
Methode Recordset.MoveFirst RMF-Methode (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.MoveFirst
recordset.MoveLast
recordset.MoveNext
recordset.MovePrevious
 

Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious des Recordset-Objekts verlagern den Datensatzzeiger auf den ersten, letzten, nächsten bzw. vorherigen Zeiger und machen den betreffenden Datensatz zum aktuellen Datensatz.

Beschreibung

Die Methoden MoveFirst, MoveLast, MoveNext und MovePrevious des Recordset-Objekts ermöglichen Ihnen eine freie Navigation durch das geöffnete Recordset-Objekt.

Die Methode MoveFirst verlagert den Zeiger auf den ersten Datensatz in der Datensatzgruppe und macht diesen Datensatz zum aktuellen.

Die Methode MoveLast verlagert den Zeiger auf den letzten Datensatz in der Datensatzgruppe und macht diesen Datensatz zum aktuellen. Diese Methode lässt sich nur einsetzen, wenn das Recordset-Objekt Lesezeichen unterstützt. Falls nicht, wird beim Versuch die Methode zu benutzen, ein Fehler erzeugt.

Die Methode MoveNext verlagert den Zeiger auf den nächsten Datensatz in der Gruppe und macht diesen Datensatz zum aktuellen. Ist der vor dem Aufruf von MoveNext aktuelle Datensatz der letzte in der Datensatzgruppe, so wird der Zeiger hinter den letzten Datensatz verlagert und die Eigenschaft EOF auf True gesetzt. Beim Versuch, den Zeiger hinter die EOF-Marke zu verlagern, entsteht ein Fehler.

Die Methode MovePrevious verlagert den Zeiger zu dem Datensatz, der direkt vor dem aktuellen liegt. Dieser Datensatz wird zum aktuellen Datensatz gemacht. Für diese Methode muss die Datensatzgruppe entweder Lesezeichen oder die Möglichkeit zur Rückwärtsverlagerung unterstützen, sonst wird ein Fehler erzeugt. Wenn der – vor dem Aufruf der Methode MovePrevious – aktuelle Datensatz der erste Datensatz in der Gruppe ist, so wird der Zeiger direkt davor platziert und die Eigenschaft BOF wird auf True gesetzt. Der Versuch, den Zeiger vor den Anfang der Datensatzgruppe zu verlagern, erzeugt einen Fehler.

 
Hinweis

Nicht alle Provider unterstützen die Methoden MoveFirst und MovePrevious.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.BOF-Eigenschaft, Recordset.EOF-Eigenschaft, Recordset.Supports-Methode

 
Methode Recordset.NextRecordset (Versionen 2.0, 2.1, 2.5, 2.6)

Set resulting_recordset = recordset.NextRecordset(RecordsAffected)
 

Die Methode NextRecordset des Recordset-Objekts gibt die jeweils nächste Datensatzgruppe zurück, wobei eine Reihe von Befehlen durchschritten werden:

recordset.MoveFirst
Argumente
RecordsAffected (Long)

Dieses Argument wird vom Datenprovider auf die Anzahl der Datensätze gesetzt, die von der aktuellen Operation beeinflusst wurden.

 
Beschreibung

Mit der Methode NextRecordset des Recordset-Objekts rufen Sie die nächste Datensatzgruppe aus einer Anweisung ab, die sich aus mehreren Befehlen (meist SQL-Anweisungen) zusammensetzt, oder aus einer gespeicherten Prozedur, die mehrere Ergebnisse zurückgibt. Hier ein Beispiel für eine solche zusammengesetzte Anweisung:

SELECT * FROM upstairs; SELECT * FROM downstairs

Die ursprünglich mit der Methode Execute oder Open erstellte Datensatzgruppe gibt ein Recordset-Objekt zurück, das nur auf der ersten SQL-Anweisung in dieser zusammengesetzten Anweisung basiert. Für jede weitere Datensatzgruppe müssen Sie NextRecordset aufrufen. Wird das Recordset-Objekt geschlossen, bevor alle Befehle abgearbeitet worden sind, werden diese verbleibenden Befehle überhaupt nicht ausgeführt.

Die Methode NextRecordset gibt so lange Datensatzgruppen zurück, bis keine mehr in der Liste sind. Wird eine Anweisung, die Datensätze zurückgibt, erfolgreich ausgeführt, aber das Ergebnis ist null Datensätze, so werden die Recordset-Eigenschaften EOF und BOF beide auf True gesetzt. Wird hingegen eine Anweisung, die keine Datensätze zurückgibt, erfolgreich ausgeführt, so sollte das Recordset-Objekt nicht auf Nothing gesetzt werden und die Eigenschaft EOF sollte True sein.

Sind keine Befehle der zusammengesetzten Anweisung mehr übrig, wird das zurückgegebene Recordset-Objekt auf Nothing gesetzt.

Wenn Sie sich im unmittelbaren Aktualisierungsmodus befinden und Datensätze bearbeiten, müssen Sie die Methode Update oder CancelUpdate aufrufen, bevor Sie die nächste Datensatzgruppe anfordern. Andernfalls wird ein Fehler erzeugt.

Parameter für zusammengesetzte Anweisungen werden wie die Parameter einer regulären Anweisung übergeben. Alle Parameter müssen in der Parameter-Kollektion eingetragen sein, und zwar in der Reihenfolge der verschiedenen Befehle. Außerdem müssen Sie alle Ergebnisse einer Datensatzgruppe lesen, bevor Sie Ausgabeparameterwerte lesen.

 
Siehe auch

Recordset.Update-Methode, Recordset.CancelUpdate-Methode, Recordset.BOF-Eigenschaft, Recordset.EOF-Eigenschaft

 
Methode Recordset.Open (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Open Source, ActiveConnection, CursorType, LockType, Options
 

Die Methode Open öffnet einen Cursor innerhalb eines Recordset-Objekts.

Argumente
Source (Variante)

Optional. Dieses Argument bezeichnet die eigentlichen Daten, die zum Öffnen des Recordset-Objekts verwendet werden. Dabei kann es sich um ein Command-Objekt handeln, um eine SQL-Anweisung, einen Tabellennamen, eine gespeicherte Prozedur, eine URL, einen Dateinamen oder um ein Stream-Objekt, das ein zuvor persistent gespeichertes Recordset-Objekt enthält.

ActiveConnection (Variante)

Optional. Dieses Argument bezeichnet entweder ein geöffnetes Connection-Objekt oder einen Verbindungsstring, der zu verwenden ist, wenn das Recordset-Objekt sein eigenes Connection-Objekt erstellt.

CursorType (CursorTypeEnum)

Optional. Dieses Argument bezeichnet den Cursortyp, der beim Öffnen des Recordset-Objekts verwendet werden soll. Standard ist der Wert adLockReadOnly.

LockType (LockTypeEnum)

Optional. Dieses Argument legt fest, welche Art von Sperre beim Öffnen des Recordset-Objekts verwendet werden soll. Standard ist der Enumerationswert adLockReadOnly.

Options (Long -- CommandTypeEnum und ExecuteOptionEnum)

Optional. Dieses Argument bestimmt, welcher Datentyp vom Argument Source anzugeben ist. Außerdem kann es festlegen, dass das Recordset-Objekt asynchron geöffnet werden soll. Wenn die Quelle für das Recordset-Objekt nicht ein Command-Objekt ist, ist der Standard für das Argument Options der Wert adCmdFile.

 
Beschreibung

Die Argumente Source, ActiveConnection, CursorType und LockType haben übereinstimmende Eigenschaften innerhalb eines Recordset-Objekts. Werden die Argumente beim Aufruf der Methode Open weggelassen, so werden die einzelnen Werte aus den entsprechenden Eigenschaften bezogen. Wurde jedoch für ein bestimmtes Argument ein Wert angegeben, überschreibt dieser Wert den in der Eigenschaft gespeicherten.

Als Quelle für ein Recordset-Objekt gibt es folgende Möglichkeiten:

  • Command-Objekt

  • SQL-Anweisung

  • Gespeicherte Prozedur

  • Tabelle

  • URL

  • Datei

  • Stream-Objekt (mit einem zuvor persistent gespeicherten Recordset-Objekt als Inhalt)

Wenn etwas anderes als ein Command-Objekt verwendet wird, um eine Datensatzgruppe zu öffnen, legen Sie die Datenquelle mit Hilfe des Arguments Options fest. Wenn Sie das nicht machen, muss ADO den Datenprovider wiederholt kontaktieren, um die zu öffnende Datenart zu bestimmen.

Wenn Sie als Quelle für das Recordset-Objekt eine Datei angeben, so können Sie den vollständigen Pfad, einen relativen Pfad oder sogar eine URL (http://www.domain.com) angeben.

Das Argument ActiveConnection wird nur verwendet, wenn Sie nicht ein Command-Objekt angeben. Tatsächlich ist es sogar schreibgeschützt, wenn für die Eigenschaft Source ein gültiges Command-Objekt angegeben worden ist.

Im Argument ActiveConnection kann entweder ein geöffnetes Connection-Objekt angegeben werden oder ein Verbindungs-String, der zum Öffnen eines neuen Connection-Objekts für das Recordset-Objekt verwendet wird.

Es ist möglich, den Wert der Eigenschaft ActiveConnection auch nach dem Öffnen eines Recordset-Objekts zu ändern, wenn Sie die Aktualisierungen an der Datengruppe noch an eine andere Datenquelle senden wollen. Allerdings werden die verbleibenden Argumente und die entsprechenden Eigenschaften schreibgeschützt, nachdem das Recordset-Objekt geöffnet worden ist.

Eine Datensatzgruppe lässt sich auch asynchron öffnen, indem Sie aus der Enumeration ExecuteOptionEnum den Wert adAsyncFetch hinzufügen.

Wird eine Datensatzgruppe geöffnet, die leer ist, ist sowohl die Eigenschaft BOF als auch die Eigenschaft EOF auf True gesetzt. Sie schließen das Recordset-Objekt, indem Sie die Methode Close aufrufen. Dadurch wird das Recordset-Objekt nicht aus dem Speicher entfernt, da Sie ein Recordset-Objekt wieder öffnen können. Um ein Recordset-Objekt aus dem Speicher zu entfernen, setzen Sie das Objekt auf Nothing.

Wenn Sie ein Recordset-Objekt mit einem Stream-Objekt öffnen, wird die Datensatzgruppe automatisch synchron geöffnet, und zwar unabhängig davon, was im ExecuteOptionEnum-Wert angegeben worden ist. Sie sollten zudem keine weiteren Argumente für die Methode Open angeben, wenn Sie ein Recordset-Objekt aus einem Stream-Objekt öffnen.

 
Siehe auch

CommandTypeEnum-Enumeration, CursorTypeEnum-Enumeration, ExecuteOptionEnum, LockTypeEnum-Enumeration, Recordset.ActiveConnection-Eigenschaft, Recordset.BOF-Eigenschaft, Recordset.Close-Methode, Recordset.CursorType-Eigenschaft, Recordset.EOF-Eigenschaft, Recordset.LockType-Eigenschaft, Recordset.Source-Eigenschaft

 
Eigenschaft Recordset.PageCount (Versionen 2.0, 2.1, 2.5, 2.6)

pagecount = recordset.PageCount
 

Die Eigenschaft PageCount gibt die Anzahl der logischen Seiten im aktuellen Recordset-Objekt zurück.

Datentyp

Long

 
Beschreibung

Die Eigenschaft PageCount gibt einen Wert zurück, der anzeigt, wie viele logische Seiten an Daten in der Datensatzgruppe enthalten sind. Eine Seite errechnet sich aus der Anzahl an Datensätzen in der Datensatzgruppe geteilt durch die Anzahl an Datensätzen pro Seite (die von der Eigenschaft PageSize bestimmt wird).

Umfasst die letzte Seite weniger Datensätzen als in der Eigenschaft PageSize angegeben, so wird diese Seite dennoch als Seite in der Eigenschaft PageCount gezählt.

 
Rückgabewerte

Unterstützt das Recordset-Objekt die Eigenschaft PageCount nicht, so ist der Rückgabewert -1. Das bedeutet, dass die Anzahl an Seiten nicht ermittelt werden konnte.

 
Siehe auch

Recordset.AbsolutePage-Eigenschaft, Recordset.PageSize-Eigenschaft

 
Eigenschaft Recordset.PageSize (Versionen 2.0, 2.1, 2.5, 2.6)

pagesize = recordset.PageSize
 

Die Eigenschaft PageSize bezeichnet die Anzahl an Datensätzen auf einer logischen Seite.

Datentyp

Long

 
Beschreibung

Die Eigenschaft PageSize bestimmt, wie viele Datensätze zu einer logischen Seite in der Datensatzgruppe gehören. Der Standardwert ist 10. Diese Eigenschaft kann jederzeit gesetzt werden und wird mit der Eigenschaft AbsolutePage zusammen verwendet, um den Zeiger auf den ersten Datensatz einer bestimmten Seite zu setzen.

 
Siehe auch

Recordset.AbsolutePage-Eigenschaft, Recordset.PageCount-Eigenschaft

 
Kollektion Recordset.Properties (Versionen 2.0, 2.1, 2.5, 2.6)

Set properties = recordset.Properties
 

Die Properties-Kollektion enthält Zeichen, die für das Objekt Recordset und den zurzeit verwendeten Provider spezifisch sind.

Datentyp

Properties (Collection-Objekt)

 
Beschreibung

Die Kollektionsklasse Properties enthält zu jeder für das Objekt Recordset des Datenproviders spezifischen Eigenschaft eine Property-Klasseninstanz.

Die Properties-Kollektion des Objekts Command wird erst aufgefüllt, wenn die Eigenschaft ActiveConnection des Objekts Command auf ein geöffnetes Connection-Objekt oder einen gültigen Verbindungs-String gesetzt wird.

 
Siehe auch

Command.ActiveConnection-Eigenschaft

 
Ereignis Recordset.RecordChangeComplete (Versionen 2.0, 2.1, 2.5, 2.6)

RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis RecordChangeComplete wird aufgerufen, nachdem eine Operation einen oder mehrere Datensätze im Recordset-Objekt geändert hat.

Argumente
adReason (EventReasonEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete und adRsnFirstChange.

cRecords (Long)

Dieses Argument gibt an, wie viele Datensätze von der Operation betroffen sind, die dieses Ereignis verursacht.

pError (Fehler)

Dieses Argument enthält Detailangaben über einen aufgetretenen Fehler, sofern der Parameter adStatus auf adStatusErrorsOccurred gesetzt ist.

adStatus(EventStatusEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Wenn der Parameter adStatus auf adStatusOK gesetzt ist, bedeutet dies, dass die Operation erfolgreich verlaufen ist. Weist der Parameter adStatus den Wert adStatusErrorsOccurred auf, so ist die Operation fehlgeschlagen, und das Objekt pError enthält genaue Auskunft über den Fehler. Ist der Parameter adStatus auf adStatusCancel gesetzt, so wurde die Operation vor ihrem Abschluss von der Anwendung abgebrochen. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument bezeichnet das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, Recordset.AddNew-Methode, Recordset.CancelBatch-Methode, Recordset.CancelUpdate-Methode, Recordset.Delete-Methode, Recordset.WillChangeRecord-Ereignis, Recordset.Update-Methode, Recordset.UpdateBatch-Methode

 
Ereignis Recordset.RecordsetChangeComplete (Versionen 2.0, 2.1, 2.5, 2.6)

RecordsetChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis RecordsetChangeComplete wird aufgerufen, nachdem eine Operation das Recordset-Objekt geändert hat.

Argumente
adReason (EventReasonEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnReQuery, adRsnReSynch, adRsnClose und adRsnOpen.

pError (Fehler)

Dieses Argument enthält Detailangaben über einen aufgetretenen Fehler, sofern der Parameter adStatus auf adStatusErrorsOccurred gesetzt ist.

adStatus (EventReasonEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Wenn der Parameter adStatus auf adStatusOK gesetzt ist, bedeutet dies, dass die Operation erfolgreich verlaufen ist. Weist der Parameter adStatus den Wert adStatusErrorsOccurred auf, so ist die Operation fehlgeschlagen, und das Objekt pError enthält genaue Auskunft über den Fehler. Ist der Parameter adStatus auf adStatusCancel gesetzt, so wurde die Operation vor ihrem Abschluss von der Anwendung abgebrochen. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen.

pRecordset

Dieses Argument bezeichnet das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, Recordset.Open-Methode, Recordset.Requery-Methode, Recordset.WillChangeRecordset-Ereignis

 
Eigenschaft Recordset.RecordCount (Versionen 2.0, 2.1, 2.5, 2.6)

recordcount = recordset.RecordCount
 

Die Eigenschaft RecordCount gibt die Anzahl an Datensätzen im aktuellen Recordset-Objekt zurück.

Datentyp

Long

 
Beschreibung

Wenn der Provider oder der Cursor die Eigenschaft RecordCount nicht unterstützen oder wenn die Anzahl an Datensätzen von ADO nicht ermittelt werden kann, wird -1 zurückgegeben.

Beim statischen und beim Schlüsselcursor (Static und Keyset) wird immer die tatsächliche Anzahl an Datensätzen zurückgegeben, aber beim Vorwärtscursor (Forward Only) wird immer der Wert -1 zurückgegeben. Dynamische Cursor können, je nach Datenquelle, entweder den Wert -1 oder die tatsächliche Anzahl an Datensätzen zurückgeben.

Aus Effizienzgründen meldet die Eigenschaft RecordCount die Anzahl an Datensätzen in einer Datensatzgruppe nur, wenn das aktuelle Recordset-Objekt die angenäherte Positionierung (Methode Supports, adApproxPosition) oder Lesezeichen (Methode Supports, adBookmark) unterstützt. Andernfalls würde diese Eigenschaften relativ viele Systemressourcen beanspruchen, da ADO alle Datensätze laden muss, um sie zu zählen.

 
Methode Recordset.Requery (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Requery
 
Beschreibung

Um eine Aktualisierung der Datensatzgruppe zu veranlassen, führt die Methode Requery des Recordset-Objekts den Befehl erneut aus, der die Datensatzgruppe ursprünglich erstellt hat. Diese Methode hat denselben Effekt wie der Aufruf der Methode Close kombiniert mit dem anschließenden Aufruf der Methode Open.

Wenn Sie einen neuen Datensatz hinzufügen oder einen vorhandenen bearbeiten und die Methode Requery aufrufen, wird ein Fehler erzeugt.

Wenn Sie Eigenschaften ändern wollen, die schreibgeschützt sind, solange ein Recordset-Objekt geöffnet ist (CursorType, LockType usw.), müssen Sie das Recordset-Objekt ausdrücklich schließen und erneut öffnen. Dazu rufen Sie die Methode Close auf, ändern die Eigenschaften und rufen dann erneut die Methode Open auf.

 
Siehe auch

ExecuteOptionEnum

 
Methode Recordset.Resync (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Resync AffectRecords
 

Die Methode Resync des Recordset-Objekts aktualisiert die Daten in der Datensatzgruppe aus den zugrunde liegenden Daten in der Datenquelle.

Argumente
AffectRecords (AffectEnum)

Optional. Dieses Argument ist ein Enumerator vom Typ AffectEnum mit dem Wert adAffectCurrent (1), adAffectGroup (2) oder adAffectAll (3, der Standard).

Wenn adAffectCurrent als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode Resync nur auf eine anstehende Batch-Aktualisierung des aktuellen Datensatzes in der Gruppe aus.

Wenn adAffectGroup als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode Resync nur auf die anstehenden Datensätze aus, die durch die Eigenschaft Filter des aktuellen Recordset-Objekts festgelegt worden sind. Diese Eigenschaft muss bereits für die Methode Resync gesetzt worden sein, damit sie mit dem Parameter adAffectGroup aufgerufen werden kann.

Wenn adAffectAll als Wert von AffectRecords übergeben wird, sind alle anstehenden Datensätze im aktuellen Recordset-Objekt (einschließlich der durch die Filter-Eigenschaft verborgenen) von der Methode Resync betroffen.

 
Beschreibung

Die Methode Resync des Recordset-Objekts dient der Neusynchronisierung der Datensätze in der aktuellen Datensatzgruppe anhand der Datensätze in der zugrunde liegenden Datenquelle. Dies ist sehr nützlich, wenn Sie mit einem statischen oder Vorwärtscursor arbeiten und überprüfen wollen, ob seit Ihrem Abruf jemand die Datensätze in der Datenquelle geändert hat.

Dabei öffnet die Methode Resync keine Datensätze, die neu zur Datenquelle hinzugefügt worden sind, sondern aktualisiert nur diejenigen Datensätze, die Sie bereits geladen haben. Die Resync-Methode aktualisiert also nur vorhandene Datensätze und führt nicht etwa den Befehl erneut aus, der die Datensatzgruppe ursprünglich zusammengestellt hat.

Wenn die Methode Resync einen Datensatz lesen will, der bereits von einem anderen Anwender gelöscht worden ist, entsteht kein Laufzeitfehler, aber die Errors-Kollektion wird mit Warnungen gefüllt. Ein Laufzeitfehler tritt nur auf, wenn alle angeforderten Datensätze, die aktualisiert werden sollen, aus irgendeinem Grund einen Konflikt aufweisen. Um herauszufinden, welche Datensätze Konflikte aufweisen, verwenden Sie die Eigenschaft Filter mit dem Wert adFilterAffectedRecords und der Eigenschaft Status.

 
Hinweis

Nicht alle Provider unterstützen die Methode Resync.

 
Siehe auch

ADCPROP_UPDATERESYNC_ENUM-Enumeration, AffectEnum-Enumeration, CursorOptionEnum-Enumeration, Recordset.Supports-Methode, ResyncEnum-Enumeration

 
Methode Recordset.Save (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Save Destination, PersistFormat
 

Die Methode Save speichert das aktuelle Recordset-Objekt in eine Datei oder in ein Stream-Objekt.

Argumente
Destination (Variante)

Optional. In diesem Argument geben Sie entweder den Namen der Datei an, die erstellt werden soll, oder den Namen des Stream-Objekts, das das Recordset-Objekt aufnehmen soll.

PersistFormat (PersistFormatEnum)

Optional. Dieses Argument bezeichnet das Format des Recordset-Objekts, wenn es gespeichert wird. Standard ist ADTG, allerdings kann auch XML verwendet werden.

 
Beschreibung

Die Methode Save muss für ein geöffnetes Recordset-Objekt aufgerufen werden. Beim ersten Aufruf von Save können Sie das Argument Destination (Ziel) benennen, doch sollten nachfolgende Aufrufe ohne dieses Argument ausgegeben werden. Wird für dasselbe Recordset derselbe Zielname zweimal verwendet, entsteht ein Fehler. Werden hingegen zwei verschiedenen Zielnamen verwendet, werden zwei Dateien angelegt, die beide geöffnet bleiben, bis die Methode Close aufgerufen wird. Wenn Sie beim ersten Aufruf von Save kein Ziel angeben, wird eine Datei erstellt, die den Namen der Quelle für das Recordset-Objekt trägt.

Speichern Sie eine Datensatzgruppe mit einem Filter, werden nur die sichtbaren Datensätze gespeichert. Speichern Sie eine hierarchische Datensatzgruppe, werden die aktuelle (untergeordnete) Datensatzgruppe sowie deren untergeordnete Gruppen sowie die ihr übergeordnete Gruppe gespeichert. Speichern Sie eine untergeordnete Datensatzgruppe, werden nur diese Gruppe und die ihr untergeordneten Gruppen gespeichert.

Wird die Methode Save aufgerufen, während eine asynchrone Operation für das Recordset-Objekt im Gange ist, wird zunächst diese Operation abgeschlossen und erst danach das Recordset-Objekt gespeichert. Nachdem ein Recordset-Objekt persistent gespeichert worden ist, zeigt der Datensatzzeiger auf den ersten Datensatz in der Gruppe.

Bessere Ergebnisse erzielen Sie, indem Sie die Eigenschaft CursorLocation auf den Client setzen. Unterstützt der Datenprovider die zum Speichern des Recordset-Objekts notwendige Funktionalität nicht, so wird das der Cursordienst übernehmen. Wenn Sie den Server als Cursoradresse verwenden, können Sie normalerweise nur in einer einzigen Tabelle Datensätze hinzufügen, löschen oder aktualisieren. Außerdem ist in diesem Fall die Methode Resync nicht verfügbar.

Microsoft warnt davor, hierarchische Datensatzgruppen im XML-Format zu speichern, denn man kann eine Datensatzgruppe nicht speichern, wenn sie anstehende Aktualisierungen enthält oder wenn es sich um ein parametrisiertes hierarchisches Recordset-Objekt handelt.

 
Siehe auch

PersistFormatEnum-Enumeration, Recordset.Close-Methode, Recordset.CursorLocation-Eigenschaft, Recordset.Filter-Eigenschaft, Recordset.Source-Eigenschaft

 
Methode Recordset.Seek (Versionen 2.1, 2.5, 2.6)

recordset.Seek KeyValues, SeekOptions
 

Die Methode Seek ändert schnell den Datensatzzeiger auf den Datensatz im Recordset-Objekt, der dem angegebenen Index entspricht.

Argumente
KeyValues (Variante)

Dieses Argument bezeichnet die Werte, die zusammen mit dem Wert Recordset.Index für die Suche nach einem Datensatz verwendet werden.

SeekOptions (SeekEnum)

Dieses Argument bezeichnet die Art des Vergleichs, der für die Suche nach einem Datensatz verwendet wird.

 
Beschreibung

Die Methode Seek wird zusammen mit der Eigenschaft Index des Recordset-Objekts verwendet. Sie können sie nur einsetzen, wenn die aktuelle Datensatzgruppe Indexe unterstützt. Um zu überprüfen, ob das der Fall ist, rufen Sie die Methode Recordset.Supports (adSeek) auf.

Die Eigenschaft Index gibt an, welcher Index mit der Methode Seek verwendet wird. Der erste Parameter, ein Varianten-Array, sollte für jede Spalte des aktuell verwendeten Index einen Wert enthalten.

Wird kein Datensatz gefunden, wird der Datensatzzeiger auf die EOF-Marke gesetzt.

 
Hinweise

Die Methode Seek kann nur auf serverseitigen Clients verwendet werden, die mit dem CommandTypeEnum-Enumerationswert adCmdTableDirect geöffnet werden.

Nicht alle Provider unterstützen die Methode Seek.

 
Siehe auch

CommandTypeEnum-Enumeration, CursorOptionEnum-Enumeration, Recordset.EOF-Eigenschaft, Recordset.Index-Eigenschaft, SeekEnum-Enumeration, Recordset.Supports-Methode

 
Eigenschaft Recordset.Sort (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Sort = sortstring
 

Die Eigenschaft Sort sortiert eine Datensatzgruppe nach einem oder mehreren Feldern.

Datentyp

String

 
Beschreibung

Mit Hilfe der Eigenschaft Sort können Sie festlegen, dass eine Datensatzgruppe nach einem oder auch mehreren Feldern sortiert wird, und zwar in aufsteigender oder absteigender Reihenfolge. Die Eigenschaft Sort akzeptiert einen String-Wert, der eine Sortierklausel einer SQL-Anweisung darstellt. Die angegebenen Feldnamen werden durch Kommas getrennt, wobei hinter jedem Feldnamen entweder das Schlüsselwort ASC (für aufsteigende Reihenfolge) oder DESC (für absteigende Reihenfolge) steht. Ist keines dieser beiden Schlüsselwörter angegeben, wird der Standard ASC verwendet.

Wenn Sie für die Eigenschaft Sort einen leeren String-Wert (") angeben, wird die Sortierung der Datensatzgruppe aufgehoben und die Standardreihenfolge wieder hergestellt.

Der Sort-Wert "Firma ASC, Kontakt DESC" beispielsweise sortiert die Datensatzgruppe nach Firma, und zwar in aufsteigender Reihenfolge und dann nach Kontakt, in absteigender Reihenfolge.

Die Eigenschaft Sort ordnet die Daten innerhalb der Datensatzgruppe nicht neu an, sondern erstellt einen temporären Index für jedes Feld, das noch keinen Index besitzt, wenn die Eigenschaft CursorLocation auf adUseClient gesetzt ist.

 
Hinweis

Nicht alle Provider unterstützen die Eigenschaft Sort.

 
Siehe auch

Recordset.CursorLocation-Eigenschaft

 
Eigenschaft Recordset.Source (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Source source
 

Die Eigenschaft Source gibt die Datenquelle zurück, aus der das Recordset-Objekt gespeist wird.

Datentyp
String (Let, Get) Command (Set)
 
Beschreibung

Die Eigenschaft Source eines Recordset-Objekts gibt an, woher die Daten einer Datensatzgruppe stammen. Für diese Eigenschaft besteht bei geschlossenem Recordset-Objekt sowohl Lese- als auch Schreibberechtigung, bei geöffnetem Objekt ist sie schreibgeschützt.

Für die Eigenschaft Source des Recordset-Objekts sind folgende Arten von Werten zulässig:

  • Command-Objekt-Variable

  • SQL-Anweisung

  • Gespeicherte Prozedur

  • Tabelle

  • Datei oder URL

Ist die Eigenschaft Source auf ein Command-Objekt gesetzt, bezieht die ActiveConnection-Eigenschaft des Recordset-Objekts seinen Wert von der ActiveConnection-Eigenschaft des Command-Objekts. Allerdings wird beim Lesen der Eigenschaft Source kein Command-Objekt zurückgegeben, sondern die Eigenschaft CommandText des zugehörigen Command-Objekts, dessen Source-Eigenschaft Sie übernehmen.

Ist die Eigenschaft Source auf eine SQL-Anweisung, eine gespeicherte Prozedur oder eine Tabelle gesetzt, sollten Sie dies doch besser im Argument Options der Methode Open angeben, da dadurch die Performance des Recordset-Objekts verbessert wird.

 
Siehe auch

Recordset.Open-Methode

 
Eigenschaft Recordset.State (Versionen 2.0, 2.1, 2.5, 2.6)

state = recordset.State
 

Die Eigenschaft State gibt den aktuellen Zustand des Recordset-Objekts an.

Datentyp

ObjectStateEnum

 
Beschreibung

Die schreibgeschützte Eigenschaft State gibt an, ob das aktuelle Recordset-Objekt geöffnet oder geschlossen ist.

 
Siehe auch

ObjectStateEnum-Enumeration

 
Eigenschaft Recordset.Status (Versionen 2.0, 2.1, 2.5, 2.6)

status = recordset.Status
 

Die Eigenschaft Status gibt den Status des aktuellen Datensatzes im Verhältnis zu Bulk-Operationen an.

Datentyp

RecordStatusEnum

 
Beschreibung

Die Eigenschaft Status kann auf einen oder mehrere der in Anhang E aufgeführten RecordStatusEnum-Enumerationswerte gesetzt werden.

Diese Eigenschaft zeigt anstehende Änderungen an Datensätzen an, die bei einer Batch-Operation aktualisiert worden sind.

Zudem zeigt diese Eigenschaft gegebenenfalls an, warum die folgenden Funktionen fehlgeschlagen sind: Resync, UpdateBatch, CancelBatch und Filter (Einstellung entspricht einem Array an Lesezeichen).

 
Siehe auch

Recordset.CancelBatch-Methode, Recordset.Filter-Eigenschaft, Recordset.Resync-Methode, Recordset.UpdateBatch-Methode, RecordStatusEnum-Enumeration

 
Eigenschaft Recordset.StayInSync (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Resync AffectRecords
 

Wird in hierarchischen Datensatzgruppen der Datensatzzeiger auf eine andere, übergeordnete Zeile verlagert, so bestimmt die Eigenschaft StayInSync, ob die Verweise auf Kapiteldatensatzgruppen sich entsprechend ändern oder ob sie erhalten bleiben.

Datentyp

Boolean

 
Beschreibung

Für die Eigenschaft StayInSync besteht sowohl Lese- als auch Schreibberechtigung. Der Standardwert für diesen Eigenschaft ist True.

Die Eigenschaft StayInSync ist für hierarchische Datensatzgruppen relevant. Wird ihr Wert auf True gesetzt, ändern sich die Verweise auf Kapiteldatensatzgruppen, wenn die übergeordnete Datensatzgruppe geändert wird.

Wird der Wert der Eigenschaft StayInSync hingegen auf False gesetzt, zeigen die Verweise auf Kapiteldatensatzgruppen weiterhin auf die zuvor übergeordnete Datensatzgruppe, wenn sich durch ein Verlagern des Datensatzzeigers die übergeordnete Datensatzgruppe ändert.

 
Methode Recordset.Supports (Versionen 2.0, 2.1, 2.5, 2.6)

Set boolean = recordset.Supports(CursorOptions)
 

Die Methode Supports untersucht, ob der aktuelle Datenprovider die angegebene Funktionalität unterstützt.

Argumente
CursorOptions (Long)

Dieses Argument repräsentiert die Funktionalität, die untersucht wird. Sie kann einen oder mehrere der in Anhang E aufgeführten CursorOptionEnum-Werte annehmen.

 
Rückgabewerte

Boolean

 
Beschreibung

Die Methode Supports des Recordset-Objekts untersucht, ob das Recordset-Objekt bestimmte Funktionalitäten unterstützt.

Nachdem die CursorOptionEnum-Werte hinzugefügt und als einziges Argument an die Funktion Supports übergeben wurden, zeigt der Rückgabewert an, ob alle der abgefragten Funktionalitäten unterstützt werden.

 
Siehe auch

CursorOptionEnum-Enumeration

 
Methode Recordset.Update (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.Update Fields, Values
 

Die Methode Update des Recordset-Objekts speichert die Änderungen, die seit dem Aufruf von AddNew an Feldern des aktuellen Datensatzes vorgenommenen wurden.

Argumente
Fields (Variante oder Varianten-Array)

Dieses Argument kann das Feld, die Ordinalposition, ein Array an Feldern oder ein Array an Ordinalpositionen beinhalten und so festlegen, welche Felder im aktuellen Datensatz aktualisiert werden sollen. Das Argument Fields muss denselben Datentyp und dieselbe Array-Dimension besitzen wie das Argument Values.

Values (Variante oder Varianten-Array)

Optional. Dieses Argument enthält den oder die Werte für das oder die im Argument Fields beschriebenen Felder. Das Argument Values muss denselben Datentyp und dieselbe Array-Dimension besitzen wie das Argument Fields.

 
Beschreibung

Der aktuelle Datensatz bleibt auch nach dem Aufruf der Methode Update der aktuelle Datensatz.

Wenn Sie für das Argument Fields ein Array an Feldnamen angeben, muss an das Argument Values ein Array mit denselben Dimensionen übergeben werden. Dieses enthält die Werte für jedes im Fields-Array aufgelistete Feld. Andernfalls wird ein Fehler erzeugt.

Wenn Sie den Zeiger auf einen anderen Datensatz verlagern, während Sie einen Datensatz ändern, so wird dieser gespeichert (durch einen automatischen Aufruf der Methode Update), bevor die Zeigerposition geändert wird. Auch wenn Sie zudem den aktuellen Datensatz ändern und die Methode UpdateBatch aufrufen, wird die Methode Update automatisch aufgerufen.

Umgekehrt macht die Methode CancelUpdate am aktuellen Datensatz vorgenommene Änderungen wieder rückgängig.

 
Hinweis

Nicht alle Provider unterstützen die Methode Update.

 
Siehe auch

CursorOptionEnum-Enumeration, Recordset.Supports-Methode

 
Methode Recordset.UpdateBatch (Versionen 2.0, 2.1, 2.5, 2.6)

recordset.UpdateBatch AffectRecords
 

Die Methode UpdateBatch des Recordset-Objekts speichert alle anstehenden Batch-Aktualisierungen.

Argumente
AffectRecords (AffectEnum)

Dieses optionale Argument ist ein Enumerator vom Typ AffectEnum mit dem Wert adAffectCurrent (1), adAffectGroup (2) oder adAffectAll (3, der Standard).

Wenn adAffectCurrent als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode UpdateBatch nur auf eine anstehende Batch-Aktualisierung des aktuellen Datensatzes in der Gruppe aus.

Wenn adAffectGroup als Wert von AffectRecords übergeben wird, wirkt sich der Aufruf der Methode UpdateBatch nur auf die anstehenden Datensätze aus, die durch die Eigenschaft Filter des aktuellen Recordset-Objekts festgelegt worden sind. Diese Eigenschaft muss bereits für die Methode UpdateBatch gesetzt worden sein, damit sie mit dem Parameter adAffectGroup aufgerufen werden kann.

Wenn adAffectAll als Wert von AffectRecords übergeben wird, sind alle anstehenden Datensätze im aktuellen Recordset-Objekt (einschließlich der durch die Filter-Eigenschaft verborgenen) von der Methode UpdateBatch betroffen.

 
Beschreibung

Die Methode UpdateBatch übermittelt alle anstehenden Batch-Aktualisierungen zur Datenquelle. Diese Methode ist nur für den Batch-Aktualisierungsmodus verfügbar, der wiederum nur mit einem statischen oder Schlüsselcursor verwendet werden sollte.

Es ist möglich, zwischengespeicherte Feldwerte mehrmals zu aktualisieren, bevor die Änderungen der anstehenden Batch-Aktualisierungen festgeschrieben werden. Wird die Methode UpdateBatch aufgerufen, solange der Bearbeitungsmodus aktiviert ist, wird die Methode Update automatisch aufgerufen.

Wenn Sie versuchen, einen Datensatz zu aktualisieren, der bereits von einem anderen Anwender gelöscht worden ist, so entsteht kein Laufzeitfehler, aber die Errors-Kollektion wird mit Warnungen gefüllt. Ein Laufzeitfehler tritt nur auf, wenn alle angeforderten Datensätze, die aktualisiert werden sollen, aus irgendeinem Grund einen Konflikt aufweisen. Um herauszufinden, welche Datensätze Konflikte aufweisen, verwenden Sie die Eigenschaft Filter mit dem Wert adFilterAffectedRecords und der Eigenschaft Status.

Umgekehrt bricht die Methode CancelBatch alle anstehenden Batch-Aktualsierungen ab.

 
Hinweis

Nicht alle Provider unterstützen die Methode UpdateBatch.

 
Siehe auch

AffectEnum-Enumeration, Recordset.Supports-Methode, CursorOptionEnum-Enumeration

 
Ereignis Recordset.WillChangeField (Versionen 2.0, 2.1, 2.5, 2.6)

WillChangeField(ByVal cFields As Long, _
ByVal Fields As Variant, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis WillChangeField wird aufgerufen, bevor eine Operation einen oder mehrere Werte des Objekts Field ändert.

Argumente
cFields (Recordset-Objekt)

Dieses Argument repräsentiert die Datensatzgruppe, die aktualisiert werden soll.

Fields (Varianten-Array)

Dieses Argument enthält die Field-Objekte, die auf eine Änderung warten.

adStatus(EventStatusEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen. Ist der Parameter adStatus auf adStatusCancel gesetzt, erfolgt eine Abbruchanforderung für diese Operation.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventStatusEnum-Enumeration, Recordset.FieldChangeComplete-Ereignis, Recordset.Update-Methode, Recordset.Value-Eigenschaft

 
Ereignis Recordset.WillChangeRecord (Versionen 2.0, 2.1, 2.5, 2.6)

WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis WillChangeRecord wird aufgerufen, bevor eine Operation einen oder mehrere Datensätze im Recordset-Objekt ändert.

Argumente
adReason(EventStatusEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete und adRsnFirstChange.

cRecords (Long)

Dieses Argument gibt an, wie viele Datensätze von der Operation betroffen sind, die dieses Ereignis verursacht.

adStatus(EventStatusEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen. Ist der Parameter adStatus auf adStatusCancel gesetzt, erfolgt eine Abbruchanforderung für diese Operation.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, Recordset.AddNew-Methode, Recordset.CancelBatch-Methode, Recordset.CancelUpdate-Methode, Recordset.Delete-Methode, Recordset.RecordChangeComplete-Ereignis, Recordset.Update-Methode, Recordset.UpdateBatch-Methode

 
Ereignis Recordset.WillChangeRecordset (Versionen 2.0, 2.1, 2.5, 2.6)

WillChangeRecordset(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis WillChangeRecordset wird aufgerufen, bevor eine Operation das Recordset-Objekt ändert.

Argumente
adReason (EventReasonEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnReQuery, adRsnReSynch, adRsnClose und adRsnOpen.

adStatus (EventReasonEnum)

Dieses Argument gibt den Status der aktuellen Operation an. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen. Ist der Parameter adStatus auf adStatusCancel gesetzt, erfolgt eine Abbruchanforderung für diese Operation.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, RecordsetChangeComplete-Ereignis, Recordset.Requery, Recordset.Open

 
Ereignis Recordset.WillMove (Versionen 2.0, 2.1, 2.5, 2.6)

WillMove(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

Das Ereignis WillMove wird aufgerufen, bevor eine Operation die Position des Datensatzzeigers innerhalb des Recordset-Objekts ändert.

Argumente
adReason (EventReasonEnum)

Dieses Argument gibt den Grund für dieses Ereignis an. Für diesen Parameter sind folgende Werte zulässig: adRsnMoveFirst, adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove, adRsnRequery.

adStatus

Dieses Argument enthält einen EventStatusEnum-Wert, der den Status der aktuellen Operation darstellt. Der Parameter adStatus wird auf adStatusOK gesetzt, wenn die Operation, die dieses Ereignis verursacht hat, erfolgreich war. Wird der Parameter adStatus auf adStatusCantDeny gesetzt, kann das Ereignis keinen Abbruch der Operation fordern. Wenn Sie den Parameter adStatus auf adStatusUnwantedEvent setzen, wird dieses Ereignis nicht mehr aufgerufen. Ist der Parameter adStatus auf adStatusCancel gesetzt, erfolgt eine Abbruchanforderung für diese Operation.

pRecordset

Dieses Argument repräsentiert das Recordset-Objekt, das dieses Ereignis ausgelöst hat.

 
Siehe auch

EventReasonEnum-Enumeration, EventStatusEnum-Enumeration, Recordset.AbsolutePage-Eigenschaft, Recordset.AbsolutePosition-Eigenschaft, Recordset.AddNew-Methode, Recordset.Bookmark-Methode, Recordset.Filter-Eigenschaft, Recordset.Index-Eigenschaft, Recordset.Move-Methode, Recordset.MoveFirst-Methode, Recordset.MoveLast-Methode, Recordset.MoveNext-Methode, Recordset.MovePrevious-Methode, Recordset.Open-Methode, Recordset.Requery-Methode, Recordset.WillMove-Ereignis