Поделиться через


Свойство 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