Описание
Задает или возвращает значение, указывающее, является ли пустая строка ("") допустимым значением свойства Value объекта Field с типом данных Text или Memo.
Значение
Задаваемое или возвращаемое значение, имеющее тип данных Boolean, показывает, является ли пустые строки допустимым. Свойство имеет значение True, если в объекте Field допускаются пустые строки в качестве значения свойства Value; значением по умолчанию является False.
Замечания
Для объекта, еще не добавленного в семейство Fields, данное свойство доступно для чтения/записи.
После добавления в семейство Fields доступность свойства AllowZeroLength зависит от объекта, в котором содержится семейство Fields, как показано в следующем списке:
Данное свойство используют вместе со свойствами Required, ValidateOnSet или ValidationRule для указания условий на значение поля.
Пример
В следующей программе свойство AllowZeroLength позволяет пользователю задать для поля значение пустой строки. Это позволяет различать записи с неизвестными данными и записи, для которых отсутствуют допустимые данные.
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("Борей.mdb") Set tdfEmployees = dbsNorthwind.TableDefs("Сотрудники") ' Создает новый объект Field и добавляет его в семейство ' Fields таблицы "Сотрудники". Set fldTemp = tdfEmployees.CreateField("ФаксТел", dbText, 24) fldTemp.AllowZeroLength = True tdfEmployees.Fields.Append fldTemp Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники") With rstEmployees ' Принимает данные от пользователя. .Edit strMessage = "Введите номер факса для " & !Имя & " " & !Фамилия & "." & vbCr & _ "[? - неизвестен, X - нет факса]" strInput = UCase(InputBox(strMessage)) If strInput <> "" Then Select Case strInput Case "?" !ФаксТел = Null Case "X" !ФаксТел = "" Case Else !ФаксТел = strInput End Select .Update ' Печатает отчет. Debug.Print "Имя - Факс" Debug.Print !Имя & " " & !Фамилия & " - "; If IsNull(!ФаксТел) Then Debug.Print "[Неизвестен]" Else If !ФаксТел = "" Then Debug.Print "[Нет факса]" Else Debug.Print !ФаксТел End If End If Else .CancelUpdate End If .Close End With ' Удаляет новое поле, созданное только для демонстрации. tdfEmployees.Fields.Delete fldTemp.Name dbsNorthwind.Close End Sub