Partager via


CDaoTableDef::CreateField

Appelez la fonction membre pour ajouter un champ à la table.

void CreateField( 
   LPCTSTR lpszName, 
   short nType, 
   long lSize, 
   long lAttributes = 0  
); 
void CreateField( 
   CDaoFieldInfo& fieldinfo  
);

Paramètres

  • lpszName
    Un pointeur vers une expression de chaîne spécifiant le nom de ce champ.

  • nType
    Une valeur indiquant le type de données du champ. Le paramètre peut être l'une de ces valeurs :

    Type

    Taille (octets)

    Description

    dbBoolean

    1 octet

    BOOL

    dbByte

    1

    BYTE

    dbInteger

    2

    int

    dbLong

    4

    long

    dbCurrency

    8

    Monnaie (COleCurrency)

    dbSingle

    4

    float

    dbDouble

    8

    double

    dbDate

    8

    Date/heure (COleDateTime)

    dbText

    1 – 255

    Texte (CString)

    dbLongBinary

    0

    Longue binaire (objet OLE), CLongBinary ou CByteArray

    dbMemo

    0

    Mémo (CString)

  • lSize
    Une valeur qui indique la taille maximale autorisée, en octets, d'un champ qui contient le texte, ou la taille fixe d'un champ qui contient du texte ou des valeurs numériques. Le paramètre d' lSize est ignoré pour tout sauf les champs de texte.

  • lAttributes
    Une valeur correspondant aux spécifications du champ et de qui peut être combinées avec une opération de bits OR.

    Constante

    Description

    dbFixedField

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

    dbVariableField

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

    dbAutoIncrField

    La valeur de champ pour les nouveaux enregistrements est automatiquement incrémentée à un seul long entier qui ne peut pas être modifié. Pris en charge uniquement pour les tables de base de données Microsoft Jet.

    dbUpdatableField

    La valeur de champ peut être modifiée.

    dbDescending

    Le champ est triée dans (Z )A ou 100 – 0) la commande décroissante (s'applique uniquement à un objet champ dans une collection de champs d'un objet index). Si vous omettez cette constante, le champ est triée dans (A – Z ou 0 – 100) la commande montante (valeur par défaut).

  • fieldinfo
    Une référence à une structure de CDaoFieldInfo .

Notes

Un objet de DAOField (OLE) est créé et ajouté aux champs la collection de l'objet de DAOTableDef (OLE). En dehors 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. La première version d' CreateField est plus simple à utiliser, mais si vous souhaitez un contrôle plus fin, vous pouvez utiliser la deuxième version d' CreateField, qui accepte un paramètre d' CDaoFieldInfo .

Si vous utilisez la version d' CreateField qui accepte un paramètre d' CDaoFieldInfo , vous devez soigneusement définir les membres suivants de la structure d' CDaoFieldInfo :

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

Les membres d' CDaoFieldInfo restants doivent être définies à 0, FALSE, ou une chaîne vide, comme appropriée pour le membre, ou un CDaoException peut se produire.

Pour des informations connexes, consultez la rubrique « méthode de CreateField » dans l'aide de DAO.

Configuration requise

Header: afxdao.h

Voir aussi

Référence

CDaoTableDef, classe

Graphique de la hiérarchie

CDaoTableDef::DeleteField

CDaoTableDef::CreateIndex

CDaoTableDef::DeleteIndex