Freigeben über


Connection.OpenRecordset-Methode (DAO)

Gilt für: Access 2013, Office 2013

Erstellt ein neues Recordset-Objekt und fügt es an die Recordsets-Auflistung an.

Syntax

Ausdruck. OpenRecordset(Name, Typ, Optionen, LockEdit)

Ausdruck Eine Variable, die ein Connection -Objekt darstellt.

Parameter

Name

Erforderlich/optional

Datentyp

Beschreibung

Name

Erforderlich

String

Die Quelle der Datensätze für das neue Recordset. Die Quelle kann ein Tabellenname, ein Abfragename oder eine SQL-Anweisung sein, die Datensätze zurückgibt. Für Recordset -Objekte vom "table"-Typ in Microsoft Access-Datenbankmodul-Datenbanken kann die Quelle nur ein Tabellenname sein.

Type

Optional

Variant

Eine RecordsetTypeEnum-Konstante gibt den Typ des zu öffnenden Recordset an.

Hinweis: Wenn Sie ein Recordset in einem Microsoft Access-Arbeitsbereich öffnen und keinen Typ angeben, erstellt OpenRecordset, wenn möglich, ein tabellenartiges Recordset. If you specify a linked table or query, OpenRecordset creates a dynaset-type Recordset.

Optionen

Optional

Variant

Eine Kombination aus RecordsetOptionEnum-Konstanten, die Merkmale des neuen Recordset angeben.

Hinweis: Die Konstanten dbConsistent und dbInconsistent schließen sich gegenseitig aus, und die Verwendung beider verursacht einen Fehler. Die Angabe eines lockedits-Arguments, wenn Optionen die dbReadOnly-Konstante verwenden, verursacht ebenfalls einen Fehler.

LockEdit

Optional

Variant

Eine LockTypeEnum-Konstante, die die Sperre für das Recordset bestimmt.

HINWEIS:Sie können dbReadOnly entweder im options-Argument oder im lockedits-Argument verwenden, aber nicht in beiden. Wenn Sie es für beide Argumente verwenden, tritt ein Laufzeitfehler auf.

Rückgabewert

Recordset

Hinweise

Wenn der Benutzer beim Aktualisieren eines Datensatzes diesen Fehler erhält, sollte der Code den Inhalt des Felds aktualisieren und die geänderten Werte abrufen. Tritt der Fehler beim Löschen eines Datensatzes auf, sollte der Code die Daten des neuen Datensatzes anzeigen und eine Meldung darüber ausgeben, dass die Daten kürzlich geändert wurden. An dieser Stelle könnte der Code bestätigen lassen, dass der Benutzer den Datensatz wirklich löschen möchte.

Sie sollten auch die dbSeeChanges-Konstante verwenden, wenn Sie ein Recordset in einem ODBC-Arbeitsbereich mit verbundenem Microsoft Access-Datenbankmodul für eine Microsoft SQL Server 6.0-Tabelle (oder neuer) öffnen, die über eine IDENTITY-Spalte verfügt. Andernfalls kann ein Fehler auftreten.

Das Öffnen mehrerer Recordset-Objekte in einer ODBC-Datenquelle kann fehlschlagen, wenn die Verbindung durch einen vorherigen OpenRecordset-Aufruf ausgelastet ist. Das könnten Sie beispielsweise dadurch verhindern, dass Sie das Recordset-Objekt mithilfe der MoveLast-Methode vollständig auffüllen, sobald das Recordset-Objekt geöffnet wird.

Durch das Schließen eines Recordset mit der Close-Methode wird es automatisch aus der Recordsets-Auflistung gelöscht.

Hinweis

Wenn source auf eine SQL-Anweisung verweist, die aus einer Zeichenfolge besteht, die mit einem nicht ganzzahligen Wert verkettet ist, und die Systemparameter eine Nicht-US-Anweisung angeben. Dezimalzeichen wie ein Komma (z. B. strSQL = "PRICE > " & lngPrice und lngPrice = 125,50) tritt ein Fehler auf, wenn Sie versuchen, das Recordset zu öffnen. Der Grund ist, dass die Zahl bei der Verkettung mithilfe des Standarddezimalzeichens des Systems in eine Zeichenfolge umgewandelt wird und SQL nur für die USA gültige Dezimalzeichen akzeptiert.