Propriété Field2.AllowZeroLength (DAO)
S’applique à : Access 2013, Office 2013
Définit ou renvoie une valeur qui indique si une chaîne vide ("") est un paramètre valide pour la propriété Value de l'objet Field2 avec un type de données Texte ou Mémo (espaces de travail Microsoft Access uniquement).
Syntaxe
expression . AllowZeroLength
expression une variable qui représente une champ2 objet.
Remarques
Pour un objet pas encore ajouté à la collection Fields, cette propriété est en lecture/écriture.
Une fois que l'objet est ajouté à la collection Fields, la disponibilité de la propriété AllowZeroLength dépend de l'objet contenant la collection Fields, comme illustré dans le tableau suivant.
Si la collection Fields appartient à un |
Alors AllowZeroLength est |
---|---|
Objet Index |
Non reconnu |
objet QueryDef |
Lecture seule |
objet Recordset |
Lecture seule |
objet Relation |
Non pris en charge |
objet TableDef |
Lecture/écriture |
Vous pouvez utiliser cette propriété avec les propriétés Required, ValidateOnSet ou ValidationRule pour valider une valeur d'un champ.
Exemple
Dans cet exemple, la propriété AllowZeroLength permet à l'utilisateur de définir la valeur de Field2 sur une chaîne vide. Dans ce cas, l'utilisateur peut faire la distinction entre un enregistrement dont les données sont inconnues et un enregistrement dont les données ne s'appliquent pas.
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