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/FALSCHdbByte
BytedbInteger
KurzdbLong
LangdbCurrency
Währung; siehe MFC-Klasse COleCurrencydbSingle
LedigdbDouble
DoppeltdbDate
Datum/Uhrzeit; siehe MFC-Klasse COleDateTimedbText
Text; siehe MFC-Klasse CStringdbLongBinary
Long Binary (OLE-Objekt); Möglicherweise möchten Sie die MFC-Klasse CByteArray anstelle der KlasseCLongBinary
verwenden, daCByteArray
sie umfangreicher und einfacher zu verwenden ist.dbMemo
Notiz; siehe MFC-KlasseCString
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