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


Структура CDaoFieldInfo

Структура содержит сведения о объекте CDaoFieldInfo поля, определенном для объектов доступа к данным (DAO).

DAO поддерживается через Office 2013. Версия DAO 3.6 является окончательной и считается устаревшей.

Синтаксис

struct CDaoFieldInfo
{
    CString m_strName;           // Primary
    short m_nType;               // Primary
    long m_lSize;                // Primary
    long m_lAttributes;          // Primary
    short m_nOrdinalPosition;    // Secondary
    BOOL m_bRequired;            // Secondary
    BOOL m_bAllowZeroLength;     // Secondary
    long m_lCollatingOrder;      // Secondary
    CString m_strForeignName;    // Secondary
    CString m_strSourceField;    // Secondary
    CString m_strSourceTable;    // Secondary
    CString m_strValidationRule; // All
    CString m_strValidationText; // All
    CString m_strDefaultValue;   // All
};

Параметры

m_strName
Определяет уникальное имя для объекта поля. Дополнительные сведения см. в разделе "Свойство имени" в справке по DAO.

m_nType
Значение, указывающее тип данных поля. Дополнительные сведения см. в разделе "Свойство type" в справке DAO. Значение этого свойства может быть одним из следующих значений:

  • dbBoolean Да/Нет, то же, что и TRUE/FALSE

  • dbByte Байт

  • dbInteger Короткие

  • dbLong Длинные

  • dbCurrency Валюты; см. раздел COleCurrency класса MFC

  • dbSingle Одного

  • dbDouble Двухместный

  • dbDate Дата и время; см. раздел COleDateTime класса MFC

  • dbText Текст; см. раздел CString класса MFC

  • dbLongBinaryLong Binary (OLE Object); Возможно, вы хотите использовать класс MFC CByteArray вместо классаCLongBinary, так как CByteArray более широкий и удобный для использования.

  • dbMemo Памятка; см. класс MFC CString

  • dbGUID Глобальный уникальный идентификатор/универсальный уникальный идентификатор, используемый с удаленными вызовами процедур. Дополнительные сведения см. в разделе "Свойство type" в справке DAO.

Примечание.

Не используйте строковые типы данных для двоичных данных. Это приводит к тому, что данные передаются через уровень перевода Юникода или ANSI, что приводит к увеличению нагрузки и, возможно, неожиданному переводу.

m_lSize
Значение, указывающее максимальный размер в байтах объекта поля DAO, содержащего текст или фиксированный размер объекта поля, содержащего текст или числовые значения. Дополнительные сведения см. в разделе "Свойство size" в справке DAO. Размеры могут быть одним из следующих значений:

Тип Размер (байтов) Description
dbBoolean 1 байт Да/нет (то же, что и True/False)
dbByte 1 Байт
dbInteger 2 Целое
dbLong 4 Long
dbCurrency 8 Валюта (COleCurrency)
dbSingle 4 Одна
dbDouble 8 Двойной
dbDate 8 Date/Time (COleDateTime)
dbText 1 - 255 Текст (CString)
dbLongBinary 0 Long Binary (OLE Object; CByteArray; используйте вместо CLongBinary)
dbMemo 0 Memo (CString)
dbGUID 16 Глобальный уникальный идентификатор/универсальный уникальный идентификатор, используемый с удаленными вызовами процедур.

m_lAttributes
Указывает характеристики объекта поля, содержащего табличное значение, набор записей, запрос или объект индекса. Возвращаемое значение может быть суммой этих констант, созданных с помощью побитового оператора C++ -OR:|

  • dbFixedField Размер поля исправлен (по умолчанию для числовых полей).

  • dbVariableField Размер поля — переменная (только текстовые поля).

  • dbAutoIncrField Значение поля для новых записей автоматически увеличивается до уникального длинного целого числа, которое невозможно изменить. Поддерживается только для таблиц базы данных Microsoft Jet.

  • dbUpdatableField Значение поля можно изменить.

  • dbDescending Поле отсортировано по убыванию (Z - A или 100 – 0) (применяется только к объекту поля в коллекции полей объекта индекса; в MFC объекты индекса сами содержатся в табличных объектах). Если эта константа опущена, поле отсортировано по возрастанию (A - Z или 0 – 100) (по умолчанию).

При проверка параметра этого свойства можно использовать побитовый оператор C++ И (&) для тестирования для определенного атрибута. При настройке нескольких атрибутов их можно объединить, объединив соответствующие константы с оператором bitwise-OR (|). Дополнительные сведения см. в разделе "Свойство атрибутов" в справке DAO.

m_nOrdinalPosition
Значение, указывающее числовой порядок, в котором требуется, чтобы поле, представленное объектом поля DAO, отображалось относительно других полей. Это свойство можно задать с помощью CDaoTableDef::CreateField. Дополнительные сведения см. в разделе "Свойство OrdinalPosition" в справке DAO.

m_bRequired
Указывает, требуется ли для объекта поля DAO значение, отличное от NULL. Если это свойство имеет значение TRUE, поле не разрешает значение NULL. Если параметр "Обязательный" имеет значение FALSE, поле может содержать значения NULL, а также значения, соответствующие условиям, заданным параметрами свойств AllowZeroLength и ValidationRule. Дополнительные сведения см. в разделе "Обязательное свойство" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_bAllowZeroLength
Указывает, является ли пустая строка ("") допустимым значением объекта поля DAO с типом данных Text или Memo. Если это свойство имеет значение TRUE, пустая строка является допустимым значением. Это свойство можно задать значение FALSE, чтобы убедиться, что для задания значения поля нельзя использовать пустую строку. Дополнительные сведения см. в разделе "Свойство AllowZeroLength" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_lCollatingOrder
Указывает последовательность порядка сортировки в тексте для сравнения строк или сортировки. Дополнительные сведения см. в разделе "Настройка реестра Windows Параметры для доступа к данным" в справке DAO. Список возможных возвращаемых значений см m_lCollatingOrder . в элементе структуры CDaoDatabaseInfo . Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_strForeignName
Значение, указывающее имя объекта поля DAO во внешней таблице, соответствующей полю в первичной таблице. Дополнительные сведения см. в разделе "Свойство ForeignName" в справке DAO.

m_strSourceField
Указывает имя поля, которое является исходным источником данных для объекта поля DAO, содержащегося в табличном, наборе записей или объекте querydef. Это свойство указывает исходное имя поля, связанное с объектом поля. Например, это свойство можно использовать для определения исходного источника данных в поле запроса, имя которого не связано с именем поля в базовой таблице. Дополнительные сведения см. в разделе "Свойства SourceField, SourceTable" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_strSourceTable
Указывает имя таблицы, которая является исходным источником данных для объекта поля DAO, содержащегося в табличном, наборе записей или объекте querydef. Это свойство указывает исходное имя таблицы, связанное с объектом поля. Например, это свойство можно использовать для определения исходного источника данных в поле запроса, имя которого не связано с именем поля в базовой таблице. Дополнительные сведения см. в разделе "Свойства SourceField, SourceTable" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_strValidationRule
Значение, которое проверяет данные в поле при изменении или добавлении в таблицу. Дополнительные сведения см. в разделе "Свойство ValidationRule" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

Сведения о таблицах см m_strValidationRule . в элементе структуры CDaoTableDefInfo .

m_strValidationText
Значение, указывающее текст сообщения, отображаемого приложением, если значение объекта поля DAO не удовлетворяет правилу проверки, заданному параметром свойства ValidationRule. Дополнительные сведения см. в разделе "Свойство ValidationText" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

m_strDefaultValue
Значение по умолчанию объекта поля DAO. При создании новой записи параметр свойства DefaultValue автоматически вводится в качестве значения поля. Дополнительные сведения см. в разделе "Свойство DefaultValue" в справке DAO. Это свойство можно задать для табличного значения с помощью CDaoTableDef::CreateField.

Замечания

Ссылки на Primary, Secondary и All выше указывают, как информация возвращается GetFieldInfo функцией-членом в классах CDaoTableDef, CDaoQueryDef и CDaoRecordset.

Объекты полей не представлены классом MFC. Вместо этого объекты DAO, базовые объекты MFC следующих классов содержат коллекции объектов полей: CDaoTableDef, CDaoRecordset и CDaoQueryDef. Эти классы предоставляют функции-члены для доступа к некоторым отдельным элементам сведений о поле или вы можете получить к ним доступ одновременно с CDaoFieldInfo объектом, вызвав GetFieldInfo функцию-член содержащего объекта.

Помимо использования для изучения свойств объекта, можно также использовать CDaoFieldInfo для создания входных параметров для создания новых полей в табличном значении. Для этой задачи доступны более простые параметры, но если требуется более точное управление, можно использовать версию CDaoTableDef::CreateField , принимающую CDaoFieldInfo параметр.

Сведения, GetFieldInfo полученные функцией-членом (класса, содержащего поле), хранятся в CDaoFieldInfo структуре. GetFieldInfo Вызовите функцию-член содержащего объекта, в коллекции полей которого хранится объект поля. CDaoFieldInfo также определяет функцию-член Dump в отладочных сборках. Можно использовать Dump для дампа содержимого объекта CDaoFieldInfo.

Требования

Header: afxdao.h

См. также

Структуры, стили, обратные вызовы и схемы сообщений
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo