Freigeben über


CDaoFieldInfo-Struktur

Die CDaoFieldInfo Struktur enthält Informationen zu einem Feldobjekt, das für Datenzugriffsobjekte (Data Access Objects, DAO) definiert ist.

Hinweis

DAO wird bis Office 2013 unterstützt. DAO 3.6 ist die endgültige Version und gilt als veraltet.

Syntax

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

Parameter

m_strName
Benennt das Feldobjekt eindeutig. Weitere Informationen finden Sie im Thema „Name-Eigenschaft“ in der DAO-Hilfe.

m_nType
Ein Wert, der den Datentyp des Felds angibt. Ausführliche Informationen finden Sie im Thema "Type Property" in der DAO-Hilfe. Der Wert dieser Eigenschaft kann eine der folgenden Sein:

  • dbBoolean Ja/Nein, identisch mit WAHR/FALSCH

  • dbByte Byte

  • dbInteger Kurz

  • dbLong Lang

  • dbCurrency Währung; siehe MFC-Klasse COleCurrency

  • dbSingle Ledig

  • dbDouble Doppelt

  • dbDate Datum/Uhrzeit; siehe MFC-Klasse COleDateTime

  • dbText Text; siehe MFC-Klasse CString

  • dbLongBinary Long Binary (OLE-Objekt); Möglicherweise möchten Sie die MFC-Klasse CByteArray anstelle der Klasse CLongBinary verwenden, da CByteArray sie umfangreicher und einfacher zu verwenden ist.

  • dbMemo Notiz; siehe MFC-Klasse CString

  • dbGUID Ein globally Unique Identifier/Universally Unique Identifier, der bei Remoteprozeduraufrufen verwendet wird. Weitere Informationen finden Sie im Thema "Type Property" in der DAO-Hilfe.

Hinweis

Verwenden Sie keine Zeichenfolgendatentypen für Binärdaten. Dies führt dazu, dass Ihre Daten die Unicode/ANSI-Übersetzungsebene durchlaufen, was zu einem erhöhten Mehraufwand und möglicherweise unerwarteten Übersetzungen führt.

m_lSize
Ein Wert, der die maximale Größe eines DAO-Feldobjekts in Bytes angibt, das Text oder die feste Größe eines Feldobjekts enthält, das Text oder numerische Werte enthält. Ausführliche Informationen finden Sie im Thema "Size Property" in der DAO-Hilfe. Größen können einen der folgenden Werte aufweisen:

type Größe (Byte) Beschreibung
dbBoolean 1 Byte Ja/Nein (identisch mit Wahr/Falsch)
dbByte 1 Byte
dbInteger 2 Ganzzahl
dbLong 4 Long
dbCurrency 8 Währung (COleCurrency)
dbSingle 4 Single
dbDouble 8 Doppelt
dbDate 8 Datum/Uhrzeit (COleDateTime)
dbText 1 - 255 Text (CString)
dbLongBinary 0 Long Binary (OLE-Objekt; CByteArray; anstelle von CLongBinary)
dbMemo 0 Memo (CString)
dbGUID 16 Ein globally Unique Identifier/Universally Unique Identifier, der bei Remoteprozeduraufrufen verwendet wird.

m_lAttributes
Gibt die Merkmale eines Feldobjekts an, das in einem Tabledef-, Recordset-, Querydef- oder Indexobjekt enthalten ist. Der zurückgegebene Wert kann eine Summe dieser Konstanten sein, die mit dem C++-Bitweise-OR-Operator (|) erstellt werden:

  • dbFixedField Die Feldgröße ist fest (Standardeinstellung für numerische Felder).

  • dbVariableField Die Feldgröße ist variabel (nur Textfelder).

  • dbAutoIncrField Der Feldwert für neue Datensätze wird automatisch auf eine eindeutige lange ganze Zahl erhöht, die nicht geändert werden kann. Wird nur für Microsoft Jet-Datenbanktabellen unterstützt.

  • dbUpdatableField Der Feldwert kann geändert werden.

  • dbDescending Das Feld wird in absteigender Reihenfolge (Z - A oder 100 - 0) sortiert (gilt nur für ein Feldobjekt in einer Fields-Auflistung eines Indexobjekts; in MFC sind Indexobjekte selbst in Tabledef-Objekten enthalten). Wenn Sie diese Konstante weglassen, wird das Feld in aufsteigender Reihenfolge (A - Z oder 0 - 100) (Standard) sortiert.

Beim Überprüfen der Einstellung dieser Eigenschaft können Sie den C++-Bitweise-AND-Operator (&) verwenden, um auf ein bestimmtes Attribut zu testen. Wenn Sie mehrere Attribute festlegen, können Sie sie kombinieren, indem Sie die entsprechenden Konstanten mit dem Bitweise-OR(|)-Operator kombinieren. Ausführliche Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.

m_nOrdinalPosition
Ein Wert, der die numerische Reihenfolge angibt, in der ein Feld, das durch ein DAO-Feldobjekt dargestellt wird, relativ zu anderen Feldern angezeigt werden soll. Sie können diese Eigenschaft mit CDaoTableDef::CreateField festlegen. Ausführliche Informationen finden Sie im Thema "OrdinalPosition Property" in der DAO-Hilfe.

m_bRequired
Gibt an, ob für ein DAO-Feldobjekt ein Wert ungleich Null erforderlich ist. Wenn diese Eigenschaft WAHR ist, lässt das Feld keinen Nullwert zu. Wenn "Erforderlich" auf FALSE festgelegt ist, kann das Feld Nullwerte sowie Werte enthalten, die den durch die Einstellungen der AllowZeroLength- und ValidationRule-Eigenschaft angegebenen Bedingungen entsprechen. Ausführliche Informationen finden Sie im Thema "Erforderliche Eigenschaft" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_bAllowZeroLength
Gibt an, ob eine leere Zeichenfolge ("") ein gültiger Wert eines DAO-Feldobjekts mit einem Text- oder Memo-Datentyp ist. Wenn diese Eigenschaft WAHR ist, ist eine leere Zeichenfolge ein gültiger Wert. Sie können diese Eigenschaft auf FALSE festlegen, um sicherzustellen, dass Sie keine leere Zeichenfolge verwenden können, um den Wert eines Felds festzulegen. Ausführliche Informationen finden Sie im Thema "AllowZeroLength Property" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_lCollatingOrder
Gibt die Reihenfolge der Sortierreihenfolge im Text für den Zeichenfolgenvergleich oder die Sortierung an. Ausführliche Informationen finden Sie im Thema "Anpassen der Windows-Registrierungseinstellungen für den Datenzugriff" in der DAO-Hilfe. Eine Liste der zurückgegebenen möglichen Werte finden Sie im m_lCollatingOrder Element der CDaoDatabaseInfo-Struktur . Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_strForeignName
Ein Wert, der in einer Beziehung den Namen des DAO-Feldobjekts in einer Fremdtabelle angibt, das einem Feld in einer Primärtabelle entspricht. Ausführliche Informationen finden Sie im Thema "ForeignName Property" in der DAO-Hilfe.

m_strSourceField
Gibt den Namen des Felds an, das die ursprüngliche Quelle der Daten für ein DAO-Feldobjekt ist, das in einem Tabledef-, Recordset- oder Querydef-Objekt enthalten ist. Diese Eigenschaft gibt den ursprünglichen Feldnamen an, der einem Feldobjekt zugeordnet ist. Sie können diese Eigenschaft beispielsweise verwenden, um die ursprüngliche Quelle der Daten in einem Abfragefeld zu bestimmen, dessen Name nicht mit dem Namen des Felds in der zugrunde liegenden Tabelle verknüpft ist. Ausführliche Informationen finden Sie im Thema "SourceField, SourceTable Properties" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_strSourceTable
Gibt den Namen der Tabelle an, die die ursprüngliche Quelle der Daten für ein DAO-Feldobjekt ist, das in einem Tabledef-, Recordset- oder Querydef-Objekt enthalten ist. Diese Eigenschaft gibt den ursprünglichen Tabellennamen an, der einem Feldobjekt zugeordnet ist. Sie können diese Eigenschaft beispielsweise verwenden, um die ursprüngliche Quelle der Daten in einem Abfragefeld zu bestimmen, dessen Name nicht mit dem Namen des Felds in der zugrunde liegenden Tabelle verknüpft ist. Ausführliche Informationen finden Sie im Thema "SourceField, SourceTable Properties" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_strValidationRule
Ein Wert, der die Daten in einem Feld überprüft, während es geändert oder einer Tabelle hinzugefügt wird. Ausführliche Informationen finden Sie im Thema "ValidationRule Property" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

Verwandte Informationen zu Tabledefs finden Sie im m_strValidationRule Element der CDaoTableDefInfo-Struktur .

m_strValidationText
Ein Wert, der den Text der Meldung angibt, die von der Anwendung angezeigt wird, wenn der Wert eines DAO-Feldobjekts nicht der durch die Eigenschaftseinstellung ValidationRule angegebenen Gültigkeitsprüfungsregel entspricht. Ausführliche Informationen finden Sie im Thema "ValidationText Property" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

m_strDefaultValue
Der Standardwert eines DAO-Feldobjekts. Wenn ein neuer Datensatz erstellt wird, wird die Einstellung der DefaultValue-Eigenschaft automatisch als Wert für das Feld eingegeben. Ausführliche Informationen finden Sie im Thema "DefaultValue Property" in der DAO-Hilfe. Sie können diese Eigenschaft für eine Tabledef mit CDaoTableDef::CreateField festlegen.

Hinweise

Die Verweise auf Primary, Secondary und All above geben an, wie die Informationen von der GetFieldInfo Memberfunktion in den Klassen CDaoTableDef, CDaoQueryDef und CDaoRecordset zurückgegeben werden.

Feldobjekte werden nicht durch eine MFC-Klasse dargestellt. Stattdessen enthalten die ZUGRUNDE liegenden DAO-Objekte der folgenden Klassen Sammlungen von Feldobjekten: CDaoTableDef, CDaoRecordset und CDaoQueryDef. Diese Klassen stellen Memberfunktionen bereit, um auf einige einzelne Elemente von Feldinformationen zuzugreifen, oder Sie können alle gleichzeitig mit einem CDaoFieldInfo Objekt zugreifen, indem Sie die GetFieldInfo Memberfunktion des enthaltenden Objekts aufrufen.

Neben der Verwendung zum Untersuchen von Objekteigenschaften können Sie auch CDaoFieldInfo einen Eingabeparameter zum Erstellen neuer Felder in einer Tabledef erstellen. Für diese Aufgabe stehen einfachere Optionen zur Verfügung. Wenn Sie jedoch eine genauere Steuerung wünschen, können Sie die Version von CDaoTableDef::CreateField verwenden, die einen CDaoFieldInfo Parameter verwendet.

Informationen, die von der GetFieldInfo Memberfunktion (der Klasse, die das Feld enthält) abgerufen werden, werden in einer CDaoFieldInfo Struktur gespeichert. Rufen Sie die GetFieldInfo Memberfunktion des enthaltenden Objekts auf, in dessen Fields-Auflistung das Feldobjekt gespeichert ist. CDaoFieldInfo definiert zudem eine Memberfunktion Dump in Debugbuilds. Sie können Dump verwenden, um den Inhalt eines CDaoFieldInfo-Objekts auszugeben.

Anforderungen

Header: afxdao.h

Siehe auch

Strukturen, Stile, Rückrufe und Meldungszuordnungen
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo