Partager via


Field.Size, propriété (DAO)

S’applique à : Access 2013, Office 2013

Définit ou renvoie une valeur indiquant la taille maximale, en octets, d'un objet Field.

Syntaxe

expression . Taille

expression Variable qui représente un objet Field.

Remarques

Pour un objet pas encore ajouté à la collection Fields, cette propriété est en lecture/écriture.

Pour les champs (autres que Mémo) contenant des chaînes de caractères, la propriété Size indique le nombre de caractères maximal du champ. Dans le cas de champs numériques, la propriété Size indique le nombre d'octets de stockage requis.

L'utilisation de la propriété Size dépend de l'objet qui contient la collection Fields à laquelle l'objet Field est ajouté, comme l'illustre le tableau suivant.

Objet ajouté à

Utilisation

Index

Non pris en charge

QueryDef

Lecture seule

Recordset

Lecture seule

Relation

Non pris en charge

TableDef

Lecture seule

Lorsque vous créez un objet Field avec un type de données autre que Texte, le paramètre de la propriété Type détermine automatiquement le paramètre de la propriété Size; vous n'avez pas besoin de la définir. Dans le cas d'un objet Field de type Texte, en revanche, vous pouvez définir pour la propriété Size un entier dont la valeur maximale correspond à la taille de texte maximale (255 pour les bases de données Microsoft Access). Si vous ne définissez pas la taille, le champ sera aussi grand que ne l'autorise la base de données.

Pour les objets Field de type Binaire long et Mémo, Size a toujours la valeur 0. Utilisez la propriété FieldSize de l'objet Field pour déterminer la taille des données dans un enregistrement spécifique. La taille maximale d'un champ Mémo ou Binaire long est limitée uniquement par les ressources de votre système ou la taille maximale autorisée par la base de données.

Exemple

Cet exemple illustre la propriété Size en énumérant les noms et les tailles des objets Field dans la table Employees (Employés).

    Sub SizeX() 
     
     Dim dbsNorthwind As Database 
     Dim tdfEmployees As TableDef 
     Dim fldNew As Field 
     Dim fldLoop As Field 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     Set tdfEmployees = dbsNorthwind.TableDefs!Employees 
     
     With tdfEmployees 
     
     ' Create and append a new Field object to the 
     ' Employees table. 
     Set fldNew = .CreateField("FaxPhone") 
     fldNew.Type = dbText 
     fldNew.Size = 20 
     .Fields.Append fldNew 
     
     Debug.Print "TableDef: " & .Name 
     Debug.Print " Field.Name - Field.Type - Field.Size" 
     
     ' Enumerate Fields collection; print field names, 
     ' types, and sizes. 
     For Each fldLoop In .Fields 
     Debug.Print " " & fldLoop.Name & " - " & _ 
     fldLoop.Type & " - " & fldLoop.Size 
     Next fldLoop 
     
     ' Delete new field because this is a demonstration. 
     .Fields.Delete fldNew.Name 
     
     End With 
     
     dbsNorthwind.Close 
     
    End Sub