Partager via


CDaoFieldInfo, structure

La CDaoFieldInfo structure contient des informations sur un objet de champ défini pour les objets d’accès aux données (DAO).

Remarque

DAO est pris en charge par le biais d’Office 2013. DAO 3.6 est la version finale, et elle est considérée comme obsolète.

Syntaxe

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
};

Paramètres

m_strName
Nomme de manière unique l’objet de champ. Pour plus d’informations, consultez la rubrique « Name Property » dans L’aide de DAO.

m_nType
Valeur qui indique le type de données du champ. Pour plus d’informations, consultez la rubrique « Type Property » dans L’aide de DAO. La valeur de cette propriété peut être l’une des suivantes :

  • dbBoolean Oui/Non, identique à TRUE/FALSE

  • dbByte Octet

  • dbInteger Court

  • dbLong Long

  • dbCurrency Monnaie; voir la classe MFC COleCurrency

  • dbSingle Célibataire

  • dbDouble Double

  • dbDate Date/heure ; voir la classe MFC COleDateTime

  • dbText SMS; voir la classe MFC CString

  • dbLongBinary Long Binary (objet OLE); vous souhaiterez peut-être utiliser la classe MFC CByteArray au lieu de la classe CLongBinary comme CByteArray est plus riche et plus facile à utiliser.

  • dbMemo Mémo; voir la classe MFC CString

  • dbGUID Identificateur global unique/identificateur unique universel utilisé avec des appels de procédure distante. Pour plus d’informations, consultez la rubrique « Type Property » dans l’aide de DAO.

Remarque

N’utilisez pas de types de données de chaîne pour les données binaires. Ainsi, vos données passent par la couche de traduction Unicode/ANSI, ce qui entraîne une surcharge accrue et éventuellement une traduction inattendue.

m_lSize
Valeur qui indique la taille maximale, en octets, d’un objet de champ DAO qui contient du texte ou la taille fixe d’un objet champ qui contient du texte ou des valeurs numériques. Pour plus d’informations, consultez la rubrique « Size Property » dans L’aide de DAO. Les tailles peuvent être l’une des valeurs suivantes :

Type Taille (octets) Description
dbBoolean 1 octet Oui/Non (identique à True/False)
dbByte 1 Byte
dbInteger 2 Entier
dbLong 4 Long
dbCurrency 8 Devise (COleCurrency)
dbSingle 4 Unique
dbDouble 8 Double
dbDate 8 Date/heure (COleDateTime)
dbText 1 - 255 Texte (CString)
dbLongBinary 0 Binaire long (objet OLE ; CByteArray ; utiliser au lieu de CLongBinary)
dbMemo 0 Mémo (CString)
dbGUID 16 Identificateur global unique/identificateur unique universel utilisé avec des appels de procédure distante.

m_lAttributes
Spécifie les caractéristiques d’un objet de champ contenu par un objet tabledef, recordset, querydef ou index. La valeur retournée peut être une somme de ces constantes, créées avec l’opérateur bitwise-OR (|) C++ :

  • dbFixedField La taille du champ est fixe (valeur par défaut pour les champs numériques).

  • dbVariableField La taille du champ est variable (champs de texte uniquement).

  • dbAutoIncrField La valeur du champ pour les nouveaux enregistrements est automatiquement incrémentée vers un entier long unique qui ne peut pas être modifié. Uniquement pris en charge pour les tables de base de données Microsoft Jet.

  • dbUpdatableField La valeur du champ peut être modifiée.

  • dbDescending Le champ est trié en ordre décroissant (Z - A ou 100 - 0) (s’applique uniquement à un objet champ dans une collection Fields d’un objet index ; dans MFC, les objets d’index sont eux-mêmes contenus dans les objets tabledef). Si vous omettez cette constante, le champ est trié par ordre croissant (A - Z ou 0 - 100) (valeur par défaut).

Lorsque vous vérifiez le paramètre de cette propriété, vous pouvez utiliser l’opérateur C++ bitwise-AND (&) pour tester un attribut spécifique. Lorsque vous définissez plusieurs attributs, vous pouvez les combiner en combinant les constantes appropriées avec l’opérateur OR (|) au niveau du bit. Pour plus d’informations, consultez la rubrique « Attributes Property » dans L’aide de DAO.

m_nOrdinalPosition
Valeur qui spécifie l’ordre numérique dans lequel vous souhaitez qu’un champ représenté par un objet de champ DAO soit affiché par rapport à d’autres champs. Vous pouvez définir cette propriété avec CDaoTableDef ::CreateField. Pour plus d’informations, consultez la rubrique « OrdinalPosition Property » dans DAO Help.

m_bRequired
Indique si un objet de champ DAO nécessite une valeur non Null. Si cette propriété a la valeur TRUE, le champ n’autorise pas de valeur Null. Si Obligatoire est défini sur FALSE, le champ peut contenir des valeurs Null ainsi que des valeurs qui répondent aux conditions spécifiées par les paramètres de propriété AllowZeroLength et ValidationRule. Pour plus d’informations, consultez la rubrique « Propriété requise » dans l’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_bAllowZeroLength
Indique si une chaîne vide («  ») est une valeur valide d’un objet de champ DAO avec un type de données Text ou Memo. Si cette propriété a la valeur TRUE, une chaîne vide est une valeur valide. Vous pouvez définir cette propriété sur FALSE pour vous assurer que vous ne pouvez pas utiliser une chaîne vide pour définir la valeur d’un champ. Pour plus d’informations, consultez la rubrique « AllowZeroLength Property » dans L’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_lCollatingOrder
Spécifie la séquence de l’ordre de tri dans le texte pour la comparaison de chaînes ou le tri. Pour plus d’informations, consultez la rubrique « Personnalisation des paramètres de Registre Windows pour l’accès aux données » dans l’aide de DAO. Pour obtenir la liste des valeurs possibles retournées, consultez le m_lCollatingOrder membre de la structure CDaoDatabaseInfo . Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_strForeignName
Valeur qui, dans une relation, spécifie le nom de l’objet de champ DAO dans une table étrangère qui correspond à un champ d’une table primaire. Pour plus d’informations, consultez la rubrique « ForeignName Property » dans L’aide de DAO.

m_strSourceField
Indique le nom du champ qui est la source d’origine des données d’un objet de champ DAO contenu par un objet tabledef, recordset ou querydef. Cette propriété indique le nom de champ d’origine associé à un objet de champ. Par exemple, vous pouvez utiliser cette propriété pour déterminer la source d’origine des données dans un champ de requête dont le nom n’est pas lié au nom du champ dans la table sous-jacente. Pour plus d’informations, consultez la rubrique « SourceField, SourceTable Properties » dans l’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_strSourceTable
Indique le nom de la table qui est la source d’origine des données d’un objet de champ DAO contenu par un objet tabledef, recordset ou querydef. Cette propriété indique le nom de table d’origine associé à un objet de champ. Par exemple, vous pouvez utiliser cette propriété pour déterminer la source d’origine des données dans un champ de requête dont le nom n’est pas lié au nom du champ dans la table sous-jacente. Pour plus d’informations, consultez la rubrique « SourceField, SourceTable Properties » dans l’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_strValidationRule
Valeur qui valide les données d’un champ à mesure qu’elles sont modifiées ou ajoutées à une table. Pour plus d’informations, consultez la rubrique « ValidationRule Property » dans L’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

Pour plus d’informations sur les tablesdefs, consultez le m_strValidationRule membre de la structure CDaoTableDefInfo .

m_strValidationText
Valeur qui spécifie le texte du message affiché par votre application si la valeur d’un objet de champ DAO ne répond pas à la règle de validation spécifiée par le paramètre de propriété ValidationRule. Pour plus d’informations, consultez la rubrique « ValidationText Property » dans l’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

m_strDefaultValue
Valeur par défaut d’un objet de champ DAO. Lorsqu’un nouvel enregistrement est créé, le paramètre de propriété DefaultValue est automatiquement entré comme valeur pour le champ. Pour plus d’informations, consultez la rubrique « DefaultValue Property » dans l’aide de DAO. Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef ::CreateField.

Notes

Les références à Primary, Secondary et All ci-dessus indiquent comment les informations sont retournées par la GetFieldInfo fonction membre dans les classes CDaoTableDef, CDaoQueryDef et CDaoRecordset.

Les objets de champ ne sont pas représentés par une classe MFC. Au lieu de cela, les objets DAO sous-jacents aux objets MFC des classes suivantes contiennent des collections d’objets de champ : CDaoTableDef, CDaoRecordset et CDaoQueryDef. Ces classes fournissent des fonctions membres pour accéder à certains éléments individuels d’informations de champ, ou vous pouvez les accéder simultanément à un CDaoFieldInfo objet en appelant la GetFieldInfo fonction membre de l’objet conteneur.

Outre son utilisation pour examiner les propriétés d’objet, vous pouvez également utiliser CDaoFieldInfo pour construire un paramètre d’entrée pour créer de nouveaux champs dans un tabledef. Les options plus simples sont disponibles pour cette tâche, mais si vous souhaitez un contrôle plus fin, vous pouvez utiliser la version de CDaoTableDef ::CreateField qui prend un CDaoFieldInfo paramètre.

Les informations récupérées par la GetFieldInfo fonction membre (de la classe qui contient le champ) sont stockées dans une CDaoFieldInfo structure. Appelez la GetFieldInfo fonction membre de l’objet conteneur dans lequel la collection Fields est stockée. CDaoFieldInfo définit également une Dump fonction membre dans les builds de débogage. Vous pouvez utiliser Dump pour vider le contenu d’un CDaoFieldInfo objet.

Spécifications

En-tête : afxdao.h

Voir aussi

Structures, styles, rappels et tables de messages
CDaoTableDef ::GetFieldInfo
CDaoRecordset ::GetFieldInfo
CDaoQueryDef ::GetFieldInfo