Partager via


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