Field.AllowZeroLength-Eigenschaft (DAO)
Gilt für: Access 2013, Office 2013
Sets or returns a value that indicates whether a zero-length string ("") is a valid setting for the Value property of the Field object with a Text or Memo data type (Microsoft Access workspaces only).
Syntax
Ausdruck . AllowZeroLength
Ausdruck Eine Variable, die ein Field-Objekt darstellt.
Bemerkungen
Bei einem Objekt, das noch nicht der Fields-Auflistung angefügt wurde, besteht für diese Eigenschaft Lese-/Schreibzugriff.
Nachdem die AllowZeroLength-Eigenschaft der Fields-Auflistung hinzugefügt wurde, hängt ihre Verfügbarkeit vom Objekt ab, in dem die Fields-Auflistung enthalten ist (siehe folgende Tabelle).
Zugehörigkeit der Fields-Auflistung |
Verfügbarkeit von AllowZeroLength |
---|---|
Index-Objekt |
Nicht unterstützt |
QueryDef-Objekt |
Schreibgeschützt |
Recordset-Objekt |
Schreibgeschützt |
Relation-Objekt |
Nicht unterstützt |
TableDef-Objekt |
Lesen/Schreiben |
Sie können diese Eigenschaft zusammen mit der Eigenschaft Required, ValidateOnSet oder ValidationRule verwenden, um einen Wert in einem Feld zu überprüfen.
Beispiel
In diesem Beispiel ermöglicht die AllowZeroLength-Eigenschaft dem Benutzer, den Wert eines Field-Objekts auf eine leere Zeichenfolge festzulegen. Hierdurch können Benutzer zwischen einem Datensatz unterscheiden, für den keine Daten bekannt sind, und einem Datensatz, für den die Daten nicht angewendet werden können.
Sub AllowZeroLengthX()
Dim dbsNorthwind As Database
Dim tdfEmployees As TableDef
Dim fldTemp As Field
Dim rstEmployees As Recordset
Dim strMessage As String
Dim strInput As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set tdfEmployees = dbsNorthwind.TableDefs("Employees")
' Create a new Field object and append it to the Fields
' collection of the Employees table.
Set fldTemp = tdfEmployees.CreateField("FaxPhone", _
dbText, 24)
fldTemp.AllowZeroLength = True
tdfEmployees.Fields.Append fldTemp
Set rstEmployees = _
dbsNorthwind.OpenRecordset("Employees")
With rstEmployees
' Get user input.
.Edit
strMessage = "Enter fax number for " & _
!FirstName & " " & !LastName & "." & vbCr & _
"[? - unknown, X - has no fax]"
strInput = UCase(InputBox(strMessage))
If strInput <> "" Then
Select Case strInput
Case "?"
!FaxPhone = Null
Case "X"
!FaxPhone = ""
Case Else
!FaxPhone = strInput
End Select
.Update
' Print report.
Debug.Print "Name - Fax number"
Debug.Print !FirstName & " " & !LastName & " - ";
If IsNull(!FaxPhone) Then
Debug.Print "[Unknown]"
Else
If !FaxPhone = "" Then
Debug.Print "[Has no fax]"
Else
Debug.Print !FaxPhone
End If
End If
Else
.CancelUpdate
End If
.Close
End With
' Delete new field because this is a demonstration.
tdfEmployees.Fields.Delete fldTemp.Name
dbsNorthwind.Close
End Sub