Свойство Field2.AllowZeroLength (DAO)
Область применения: Access 2013, Office 2013
Задает или возвращает значение, указывающее, является ли строка нулевой длины ("") допустимым параметром для свойства Value объекта Field2 с типом данных Text или Memo (только для рабочих областей Microsoft Access).
Синтаксис
expression . AllowZeroLength
expression — переменная, представляющая объект Field2.
Замечания
Для объекта, еще не добавленного в коллекцию Fields , это свойство является чтением и записью.
После добавления к коллекции Fields доступность свойства AllowZeroLength зависит от объекта, содержащего коллекцию Fields , как показано в следующей таблице.
Если коллекция Fields принадлежит к |
Затем AllowZeroLength имеет значение |
---|---|
Объект Index |
Не поддерживается |
Объект QueryDef |
Только для чтения |
Объект Recordset |
Только для чтения |
Объект Relation |
Не поддерживается |
Объект TableDef |
Чтение и запись |
Это свойство можно использовать вместе со свойством Required, ValidateOnSet или ValidationRule для проверки значения в поле.
Пример
В этом примере свойство AllowZeroLength позволяет пользователю задать значение Field2 в пустую строку. В этой ситуации пользователь может различать запись, в которой данные не известны, и запись, в которой данные не применяются.
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