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/FALSEdbByte
OctetdbInteger
CourtdbLong
LongdbCurrency
Monnaie; voir la classe MFC COleCurrencydbSingle
CélibatairedbDouble
DoubledbDate
Date/heure ; voir la classe MFC COleDateTimedbText
SMS; voir la classe MFC CStringdbLongBinary
Long Binary (objet OLE); vous souhaiterez peut-être utiliser la classe MFC CByteArray au lieu de la classeCLongBinary
commeCByteArray
est plus riche et plus facile à utiliser.dbMemo
Mémo; voir la classe MFCCString
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