Свойство Field.Size (DAO)
Область применения: Access 2013, Office 2013
Задает или возвращает значение, указывающее максимальный размер объекта Field (в байтах).
Синтаксис
expression . Размер
выражение: переменная, представляющая объект Field.
Примечания
Для объекта, еще не добавленного в коллекцию Fields , это свойство является чтением и записью.
Для полей (отличных от полей типа Memo), содержащих символьные данные, свойство Size указывает максимальное количество символов, которое может содержаться в поле. Для числовых полей свойство Size указывает, сколько байтов хранилища требуется.
Использование свойства Size зависит от объекта, содержащего коллекцию Fields , к которой добавляется объект Field , как показано в следующей таблице.
Объект, добавленный в |
Применение |
---|---|
Индекс; |
Не поддерживается |
QueryDef |
Только для чтения |
Recordset |
Только для чтения |
Relation |
Не поддерживается |
TableDef |
Только для чтения |
При создании объекта Field с типом данных, отличным от Text, параметр свойства Type автоматически определяет параметр свойства Size . вам не нужно задавать его. Однако для объекта Field с типом данных Text можно задать для параметра Размер любое целое число до максимального размера текста (255 для баз данных Microsoft Access). Если размер не задан, поле будет таким же большим, как позволяет база данных.
Для объектов Long Binary и Memo Fieldразмер всегда имеет значение 0. Используйте свойство FieldSize объекта Field , чтобы определить размер данных в определенной записи. Максимальный размер поля Long Binary или Memo ограничен только системными ресурсами или максимальным размером базы данных.
Пример
В этом примере демонстрируется свойство Size путем перечисления имен и размеров объектов Field в таблице Employees.
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