Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Daten in ein Feld lesen oder schreiben, lesen oder legen Sie die DAO Value-Eigenschaft eines Field-Objekts fest. Die DAO Value-Eigenschaft ist die Standardeigenschaft eines Field-Objekts . Daher können Sie die DAO Value-Eigenschaft des Felds LastName im rstEmployees Recordset auf eine der folgenden Arten festlegen.
rstEmployees!LastName.Value = strName
rstEmployees!LastName = strName
rstEmployees![LastName] = strName
Die Tabellen, die einem Recordset-Objekt zugrunde liegen, ermöglichen möglicherweise nicht das Ändern von Daten, obwohl das Recordset vom Typ dynaset oder table ist, die normalerweise aktualisierbar sind. Überprüfen Sie die Updatable-Eigenschaft des Recordset , um zu ermitteln, ob die zugehörigen Daten geändert werden können. Wenn die Eigenschaft True ist, kann das Recordset-Objekt aktualisiert werden.
Einzelne Felder in einem aktualisierbaren Recordset-Objekt sind möglicherweise nicht aktualisierbar, und der Versuch, in diese Felder zu schreiben, generiert einen Laufzeitfehler. Um zu bestimmen, ob ein bestimmtes Feld aktualisierbar ist, überprüfen Sie die DataUpdatable-Eigenschaft des entsprechenden Field-Objekts in der Fields-Auflistung des Recordset.To determine whether a given field is updatable, check the DataUpdatable property of the entsprechende Field object in the Fields collection of the Recordset. Das folgende Beispiel gibt True zurück, wenn alle Felder im dynaset, das von strQuery erstellt wurde, aktualisierbar sind, und andernfalls False zurückgibt.
Function RecordsetUpdatable(strSQL As String) As Boolean
Dim dbsNorthwind As DAO.Database
Dim rstDynaset As DAO.Recordset
Dim intPosition As Integer
On Error GoTo ErrorHandler
' Initialize the function's return value to True.
RecordsetUpdatable = True
Set dbsNorthwind = CurrentDb
Set rstDynaset = dbsNorthwind.OpenRecordset(strSQL, dbOpenDynaset)
' If the entire dynaset isn't updatable, return False.
If rstDynaset.Updatable = False Then
RecordsetUpdatable = False
Else
' If the dynaset is updatable, check if all fields in the
' dynaset are updatable. If one of the fields isn't updatable,
' return False.
For intPosition = 0 To rstDynaset.Fields.Count - 1
If rstDynaset.Fields(intPosition).DataUpdatable = False Then
RecordsetUpdatable = False
Exit For
End If
Next intPosition
End If
rstDynaset.Close
dbsNorthwind.Close
Set rstDynaset = Nothing
Set dbsNorthwind = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function
Jedes einzelne Feld kann eine Reihe von Kriterien für Daten in diesem Feld auferlegen, wenn Datensätze hinzugefügt oder aktualisiert werden. Diese Kriterien werden durch eine Handvoll Eigenschaften definiert. Die DAO AllowZeroLength-Eigenschaft für ein Text- oder Memo-Feld gibt an, ob das Feld eine leere Zeichenfolge ("") akzeptiert oder nicht. Die DAO Required-Eigenschaft gibt an, ob ein Wert in das Feld eingegeben werden muss oder nicht, oder ob es stattdessen einen Null-Wert akzeptieren kann. Für ein Field-Objekt in einem Recordset sind diese Eigenschaften schreibgeschützt. ihr Zustand wird durch die zugrunde liegende Tabelle bestimmt.
Bei einer Gültigkeitsprüfung wird ermittelt, ob Daten, die in die Value-DAO-Eigenschaft eines Felds eingegeben wurden, innerhalb eines zulässigen Bereichs liegen. Für ein Field-Objekt in einem Recordset-Objekt sind möglicherweise die DAO-Eigenschaften ValidationRule und ValidationText festgelegt. Die ValidationRule-DAO-Eigenschaft ist einfach ein Kriterienausdruck, der den Kriterien einer SQL WHERE-Klausel ohne das Schlüsselwort WHERE ähnelt. Die ValidationText-DAO-Eigenschaft ist eine Zeichenfolge, die Access in einer Fehlermeldung anzeigt, wenn Sie versuchen, in das Feld Daten einzugeben, die außerhalb der für die ValidationRule-DAO-Eigenschaft zulässigen Werte liegen. Wenn Sie DAO im Code verwenden, können Sie die DAO-Eigenschaft ValidationText für eine Nachricht verwenden, die dem Benutzer angezeigt werden soll.
Hinweis
Die DAO-Eigenschaften ValidationRule und ValidationText sind auch auf der Ebene des Recordset-Objekts vorhanden. Dabei handelt es sich um schreibgeschützte Eigenschaften, die das Gültigkeitsprüfungsschema auf Tabellenebene darstellen, das für die Tabelle erstellt wurde, aus der der aktuelle Datensatz abgerufen wurde.
Ein Field-Objekt in einem Recordset verfügt auch über die ValidateOnSet-Eigenschaft . Wenn für die ValidateOnSet-Eigenschaft der Wert True festgelegt ist, führt Access eine Gültigkeitsprüfung durch, sobald die Value-DAO-Eigenschaft des Felds festgelegt wird. Ist die Eigenschaft auf False festgelegt (Standardeinstellung), führt Access nur dann eine Gültigkeitsprüfung durch, wenn der ausgefüllte Datensatz aktualisiert wird.
Wenn Sie beispielsweise Daten in einen Datensatz einfügen, der ein großes Memo-Feld oder ein großes OLE-Objekt mit festgelegter ValidationRule-DAO-Eigenschaft enthält, müssen Sie vor dem Schreiben von Daten bestimmen, ob die neuen Daten die Gültigkeitsprüfungsregel verletzen. Dazu legen Sie die ValidateOnSet-Eigenschaft auf True fest. Wenn Sie mit der Gültigkeitsprüfung warten, bis der gesamte Datensatz auf den Datenträger geschrieben wurde, verschwenden Sie unter Umständen Zeit, indem Sie versuchen, einen möglicherweise ungültigen Datensatz zu speichern.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.