Описание
Задает или возвращает значение, определяющее максимальный размер
в байтах объекта Field.
Значение
Задаваемое или возвращаемое значение является константой,
указывающей максимальный размер объекта Field. Для объекта, еще не
добавленного в семейство Fields, данное свойство доступно для
чтения/записи. Возможные значения определяются значением свойства Type
объекта Field, как показано ниже в разделе "Дополнительные сведения".
Замечания
Для полей, содержащих символьные данные (кроме полей
Memo), свойство Size указывает максимальное число символов,
которое может содержать поле. Для числовых полей свойство Size задает
размер сохраняемого значения в байтах.
Использование свойства Size
зависит от того, какой из объектов содержит семейство Fields, в которое
добавлен объект Field, как показано в следующей таблице.
Index Не поддерживается QueryDef Только чтение Recordset Только чтение Relation Не поддерживается TableDef Только чтение
При создании объекта Field с любым типом данных, кроме текстового,
значение свойства Size автоматически определяется значением свойства
Type, и задавать значение свойства Size не требуется. Для объекта
Field с текстовым типом данных в качестве значения свойства Size
можно задать любое целое число от 1 до максимального допустимого размера (в
базах данных с ядром Microsoft Jet максимальный размер равен 255
символам). Если размер не задан пользователем, то допускается любой размер поля
вплоть до максимального размера, определяемого типом базы данных.
Для
объектов Field типа Long Binary и Memo свойство Size
всегда получает значение 0. Чтобы определить размеры полей в конкретных записях,
следует использовать метод FieldSize. Максимальные размеры полей типа
Long Binary или Memo ограничиваются только ресурсами компьютера
или максимальными размерами, которые поддерживает база данных.
Пример
Следующая программа демонстрирует применение свойства Size,
печатая перечень имен и размеров объектов Field из таблицы
"Сотрудники.
Sub SizeX()
Dim dbsNorthwind As Database
Dim tdfEmployees As TableDef
Dim fldNew As Field
Dim fldLoop As Field
Set dbsNorthwind = OpenDatabase("Борей.mdb")
Set tdfEmployees = dbsNorthwind.TableDefs!Сотрудники
With tdfEmployees
' Создает и добавляет новый объект Field
' в таблицу "Сотрудники".
Set fldNew = .CreateField("ФаксТел")
fldNew.Type = dbText
fldNew.Size = 20
.Fields.Append fldNew
Debug.Print "Таблица: " & .Name
Debug.Print " Field.Name - Field.Type - Field.Size"
' Отображает семейство Fields; печатая имена,
' типы и размеры полей.
For Each fldLoop In .Fields
Debug.Print " " & fldLoop.Name & " - " & fldLoop.Type & " - " & fldLoop.Size
Next fldLoop
' Удаляет новое поле, созданное только для демонстрации.
.Fields.Delete fldNew.Name
End With
dbsNorthwind.Close
End Sub