CDaoFieldInfo, structure
La structure d' CDaoFieldInfo contient des informations sur un objet champ défini pour les objets d'accès aux données (DAO).
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
Appelé uniquement l'objet champ.Pour plus d'informations, consultez la rubrique « propriété Name » dans l'aide de DAO.m_nType
Une valeur qui indique le type de données du champ.Pour plus d'informations, consultez la rubrique « propriété de type » dans l'aide de DAO.La valeur de cette propriété peut avoir l'une des opérations suivantes :dbBoolean Oui/Non, même que TRUE/FALSE
Octet dedbByte
dbInteger abrégée
dbLong long
Devise dedbCurrency; consultez la classe MFC COleCurrency
dbSingle unique
Double dedbDouble
Date/heure dedbDate; consultez la classe MFC COleDateTime
Texte dedbText; consultez la classe MFC CString
Long binaire dedbLongBinary(objet OLE) ; vous pouvez utiliser la classe MFC CByteArray au lieu de la classe CLongBinary comme CByteArray est plus riche et plus facile à utiliser.
Memo dedbMemo; consultez la classe MFC CString
dbGUID un identificateur global unique/identificateur unique universel utilisé avec des appels de procédure distante.Pour plus d'informations, consultez la rubrique « propriété de type » dans l'aide de DAO.
[!REMARQUE]
N'utilisez pas les types de données string pour les données binaires.Cela provoque vos données à exécuter via la couche de conversion unicode/ansi, ce qui provoque une charge mémoire augmentée et éventuellement la traduction inattendue.
m_lSize
Une valeur qui indique la taille maximale, en octets, un objet champ DAO qui contient le 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 « propriété Size » dans l'aide de DAO.Les tailles peuvent être l'une des valeurs suivantes :Type
Le dimensionnement (octets)
Description
dbBoolean
1 octet
Oui/Non (même que True ou False)
dbByte
1
Byte
dbInteger
2
Entier
dbLong
4
Long
dbCurrency
8
Monétaire (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double
dbDate
8
Date/heure (COleDateTime)
dbText
1 - 255
Texte (CString)
dbLongBinary
0
Long binaire (objet OLE ; CByteArray; utilisez à la place d' CLongBinary)
dbMemo
0
Memo (CString)
dbGUID
16
Un identificateur global unique/identificateur unique universel utilisé avec des appels de procédure distante.
m_lAttributes
Spécifie les caractéristiques d'un objet champ contenu par un tabledef, un recordset, un querydef, ou un objet index.La valeur retournée peut être une somme de ces constantes, créée avec C++ OR (**|**Opérateur) :dbFixedField la taille de champ est résolu (valeur par défaut pour les champs numériques).
dbVariableField la taille de champ est variable (champs de texte uniquement).
dbAutoIncrField la valeur de champ pour les nouveaux enregistrements est automatiquement incrémenté à un seul long entier qui ne peut pas être modifié.Pris en charge pour les tables de base de données Microsoft Jet.
dbUpdatableField la valeur de champ peut être modifié.
dbDescending le champ est trié dans (Z - Un ou 100 - 0) la commande décroissante (s'applique à un objet champ dans une collection de champs d'un objet index ; dans MFC, les objets index eux-mêmes sont contenues dans des objets tabledef).Si vous omettez cette constante, le champ est trié dans (une classe (Z ou 0 - 100) la commande montante (par défaut).
En activant la définition de cette propriété, vous pouvez utiliser l'opérateur de bits AND C++ (et) pour déterminer un attribut spécifique.En définissant plusieurs attributs, vous pouvez les combiner en combinant les constantes appropriées avec OR (**|**Opérateur).Pour plus d'informations, consultez la rubrique « propriété d'attributs » dans l'aide de DAO.
m_nOrdinalPosition
Valeur qui spécifie la commande numérique dans laquelle vous souhaitez qu'un champ a représenté par un objet champ DAO à afficher par rapport à d'autres champs.Vous pouvez définir cette propriété avec CDaoTableDef::CreateField.Pour plus d'informations, consultez la rubrique « propriété d'OrdinalPosition » dans l'aide de DAO.m_bRequired
Indique si un objet champ DAO requiert une valeur non null.Si cette propriété est TRUE, le champ ne permet pas de valeur NULL.A la valeur si nécessaire à FALSE, le champ peut contenir des valeurs NULL ainsi que les valeurs répondant aux conditions spécifiées par les paramètres de propriété d'AllowZeroLength et de 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 champ DAO avec un type de données de texte ou de memo.Si cette propriété est TRUE, une chaîne vide est une valeur valide.Vous pouvez affecter à cette propriété FALSE pour garantir 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 « propriété d'AllowZeroLength » 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 « personnaliser des paramètres de Registre Windows pour l'accès aux données » dans l'aide de DAO.Pour obtenir une liste des valeurs possibles est retourné, consultez le membre de m_lCollatingOrder de la structure de CDaoDatabaseInfo .Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef::CreateField.m_strForeignName
Une valeur qui, dans une relation, spécifie le nom de l'objet champ DAO dans une table de clé étrangère qui correspond à un champ dans une table de clé primaire.Pour plus d'informations, consultez la rubrique « propriété de ForeignName » dans l'aide de DAO.m_strSourceField
Indique le nom du champ qui est la source d'origine de données pour un objet champ DAO contenu par un tabledef, un recordset, ou un objet querydef.Cette propriété indique le nom du champ d'origine associé à un objet champ.Par exemple, vous pouvez utiliser cette propriété pour déterminer la source d'origine de données d'un champ de requête dont le nom est pas lié au nom du champ dans la table sous-jacente.Pour plus d'informations, consultez la rubrique « SourceField, les propriétés de SourceTable » 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 de données pour un objet champ DAO contenu par un tabledef, un recordset, ou un objet querydef.Cette propriété indique le nom de la table d'origine associé à un objet champ.Par exemple, vous pouvez utiliser cette propriété pour déterminer la source d'origine de données d'un champ de requête dont le nom est pas lié au nom du champ dans la table sous-jacente.Pour plus d'informations, consultez la rubrique « SourceField, les propriétés de SourceTable » dans l'aide de DAO.Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef::CreateField.m_strValidationRule
Une valeur qui valide les données d'un champ tel qu'il est modifié ou ajouté à une table.Pour plus d'informations, consultez la rubrique « propriété de ValidationRule » dans l'aide de DAO.Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef::CreateField.Pour plus d'informations sur les tabledefs, consultez le membre de m_strValidationRule de la structure de CDaoTableDefInfo .
m_strValidationText
Valeur qui spécifie le texte du message indiquant que votre application affiche si la valeur d'un objet champ DAO ne satisfait pas à la règle de validation spécifié par le paramètre de propriété de ValidationRule.Pour plus d'informations, consultez la rubrique « propriété de ValidationText » dans l'aide de DAO.Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef::CreateField.m_strDefaultValue
La valeur par défaut d'un objet champ DAO.Lorsqu'un nouvel enregistrement est créé, le paramètre de propriété de DefaultValue est automatiquement écrit comme valeur pour le champ.Pour plus d'informations, consultez la rubrique « propriété de DefaultValue » dans l'aide de DAO.Vous pouvez définir cette propriété pour un tabledef avec CDaoTableDef::CreateField.
Notes
Les références à primaire, à secondaire et, tous en haut indiquent comment les informations sont retournées par la fonction membre d' GetFieldInfo 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-jacente des objets MFC les classes suivantes contiennent des collections d'objets de champ : CDaoTableDef, CDaoRecordset, et CDaoQueryDef.Ces classes fournissent les fonctions membres pour accéder à certains éléments des informations de champ, ou vous pouvez y accéder en même temps à un objet d' CDaoFieldInfo en appelant la fonction membre d' GetFieldInfo de l'objet contenant.
En plus de son utilisation pour examiner les propriétés de l'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 les 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 paramètre d' CDaoFieldInfo .
Des informations extraites par la fonction membre d' GetFieldInfo (de la classe qui contient le champ) sont stockées dans une structure d' CDaoFieldInfo .Appelez la fonction membre d' GetFieldInfo de l'objet conteneur dans lequel la collection de champs l'objet champ est enregistré.CDaoFieldInfo définit également une fonction membre d' Dump dans les versions debug.Vous pouvez utiliser Dump pour faire un dump du contenu d'un objet d' CDaoFieldInfo .
Configuration requise
Header: afxdao.h