Share via


Field.AllowZeroLength Property

Access Developer Reference

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

expression.AllowZeroLength

expression   A variable that represents a Field object.

Remarks

For an object not yet appended to the Fields collection, this property is read/write.

Once appended to a Fields collection, the availability of the AllowZeroLength property depends on the object that contains the Fields collection, as shown in the following table.

If the Fields collection belongs to an Then AllowZeroLength is

Index object

Not supported

QueryDef object

Read-only

Recordset object

Read-only

Relation object

Not supported

TableDef object

Read/write

You can use this property along with the Required, ValidateOnSet, or ValidationRule property to validate a value in a field.

Example

In this example, the AllowZeroLength property allows the user to set the value of a Field to an empty string. In this situation, the user can distinguish between a record where data is not known and a record where the data does not apply.

Visual Basic for Applications
  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 &amp; " " &amp; !LastName &amp; " - ";

     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

See Also