Propiedad Field.Size (DAO)
Se aplica a: Access 2013, Office 2013
Establece o devuelve un valor que indica el tamaño máximo en bytes de un objeto Field.
Sintaxis
expresión . Tamaño
expression Variable que representa un objeto Field.
Comentarios
Para un objeto que todavía no está anexado a la colección Fields, esta propiedad es de lectura y escritura.
Para aquellos campos (distintos de los campos tipo Memo) que contienen datos sobre caracteres, la propiedad Size indica el número máximo de caracteres que admite ese campo. Para campos numéricos, la propiedad Size indica el número de bytes de almacenamiento que se requieren.
El uso de la propiedad Size depende del objeto que contiene la colección Fields a la que se anexa el objeto Field, como se muestra en la tabla siguiente.
Objeto anexado a |
Uso |
---|---|
Índice |
No se admite |
QueryDef |
Solo lectura |
Recordset |
Solo lectura |
Relation |
No compatible |
TableDef |
Solo lectura |
Cuando se crea un objeto Field con un tipo de datos distinto de Text, el valor de la propiedad Type determina automáticamente el valor de la propiedad Size; no es necesario establecerlo. Sin embargo, para un objeto Field con el tipo de datos Text, se puede establecer Size en cualquier entero que no supere el tamaño máximo de texto (255 para bases de datos de Microsoft Access). Si no se establece el tamaño, el campo tendrá el tamaño que la base de datos permita.
Para objetos Field Long Binary y Memo, Size se establece siempre en 0. Use la propiedad FieldSize del objeto Field para determinar el tamaño de los datos en un registro concreto. El tamaño máximo de un campo Long Binary o Memo está limitado únicamente por los recursos del sistema o por el tamaño máximo permitido por la base de datos.
Ejemplo
En este ejemplo se enumeran los nombres y tamaños de los objetos Field en la tabla Employees para demostrar el uso de la propiedad Size.
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