Sdílet prostřednictvím


CDaoFieldInfo – struktura

Struktura CDaoFieldInfo obsahuje informace o objektu pole definovaném pro objekty přístupu k datům (DAO).

Poznámka:

Rozhraní DAO se podporuje prostřednictvím Office 2013. DAO 3.6 je konečná verze a je považována za za zastaralou.

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

Parametry

m_strName
Jednoznačně pojmenuje objekt pole. Podrobnosti najdete v tématu "Název vlastnosti" v nápovědě k dao.

m_nType
Hodnota, která označuje datový typ pole. Podrobnosti najdete v tématu "Vlastnost typu" v nápovědě k dao. Hodnota této vlastnosti může být jedna z následujících:

  • dbBoolean Ano/Ne, stejné jako PRAVDA/NEPRAVDA

  • dbByte Bajt

  • dbInteger Krátký

  • dbLong Dlouhý

  • dbCurrency Měna; viz MFC – třída COleCurrency

  • dbSingle Jednotlivý

  • dbDouble Dvojitý

  • dbDate Datum a čas; viz MFC – třída COleDateTime

  • dbText Text; viz MFC – třída CString

  • dbLongBinaryDlouhý binární soubor (objekt OLE); Můžete chtít použít MFC třídy CByteArray místo třídy CLongBinary jako CByteArray bohatší a jednodušší použití.

  • dbMemo Poznámka; see MFC – třída CString

  • dbGUID Globálně jedinečný identifikátor nebo univerzální jedinečný identifikátor používaný se vzdálenými voláními procedur. Další informace najdete v tématu "Typ vlastnosti" v nápovědě k dao.

Poznámka:

Nepoužívejte datové typy řetězců pro binární data. To způsobí, že vaše data projdou vrstvou překladu Unicode nebo ANSI, což vede ke zvýšené režii a potenciálně neočekávanému překladu.

m_lSize
Hodnota, která označuje maximální velikost objektu pole DAO, který obsahuje text nebo pevnou velikost objektu pole, který obsahuje text nebo číselné hodnoty. Podrobnosti najdete v tématu Vlastnosti velikosti v nápovědě k dao. Velikosti můžou být jedna z následujících hodnot:

Typ Velikost (bajty) Popis
dbBoolean 1 bajt Ano/Ne (stejné jako Pravda/Nepravda)
dbByte 0 Byte
dbInteger 2 Celé číslo
dbLong 4 Dlouhé celé číslo
dbCurrency 8 Měna (COleCurrency)
dbSingle 4 Jeden
dbDouble 8 Hodnota s dvojitou přesností
dbDate 8 Datum a čas (COleDateTime)
dbText 1 - 255 Text (CString)
dbLongBinary 0 Dlouhý binární soubor (objekt OLE; CByteArray; místo CLongBinary)
dbMemo 0 Memo (CString)
dbGUID 16 Globálně jedinečný identifikátor nebo univerzální jedinečný identifikátor používaný se vzdálenými voláními procedur.

m_lAttributes
Určuje vlastnosti objektu pole obsaženého objektem tabledef, recordset, querydef nebo index objektu. Vrácenou hodnotou může být součet těchto konstant vytvořených pomocí operátoru C++ bitwise-OR (|):

  • dbFixedField Velikost pole je pevná (výchozí hodnota pro číselná pole).

  • dbVariableField Velikost pole je proměnná (pouze textová pole).

  • dbAutoIncrField Hodnota pole pro nové záznamy se automaticky zvýší na jedinečné dlouhé celé číslo, které nelze změnit. Podporuje se pouze pro databázové tabulky Microsoft Jet.

  • dbUpdatableField Hodnotu pole je možné změnit.

  • dbDescending Pole je seřazené sestupně (Z – A nebo 100 – 0) (platí pouze pro objekt pole v kolekci polí indexového objektu; v knihovně MFC jsou objekty indexu obsaženy v objektech tabledef). Pokud tuto konstantu vynecháte, pole se seřadí vzestupně (A – Z nebo 0 – 100) (výchozí).

Při kontrole nastavení této vlastnosti můžete pomocí bitového operátoru A jazyka C++ (&) otestovat konkrétní atribut. Při nastavování více atributů je můžete kombinovat kombinací příslušných konstant s bitovým operátorem OR (|). Podrobnosti najdete v tématu Vlastnosti atributů v nápovědě k dao.

m_nOrdinalPosition
Hodnota, která určuje číselné pořadí, ve kterém chcete zobrazit pole reprezentované objektem pole DAO vzhledem k jiným polím. Tuto vlastnost můžete nastavit pomocí CDaoTableDef::CreateField. Podrobnosti najdete v tématu "OrdinalPosition – vlastnost" v nápovědě k dao.

m_bRequired
Určuje, zda objekt pole DAO vyžaduje hodnotu, která není null. Pokud je tato vlastnost PRAVDA, pole nepovoluje hodnotu Null. Pokud je nastavena hodnota NEPRAVDA, pole může obsahovat hodnoty Null a také hodnoty, které splňují podmínky určené nastavením vlastnosti AllowZeroLength a ValidationRule. Podrobnosti najdete v tématu Požadovaná vlastnost v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_bAllowZeroLength
Určuje, zda prázdný řetězec ("") je platná hodnota objektu pole DAO s datovým typem Text nebo Memo. Pokud je tato vlastnost TRUE, prázdný řetězec je platná hodnota. Tuto vlastnost můžete nastavit na FALSE, abyste zajistili, že nelze použít prázdný řetězec k nastavení hodnoty pole. Podrobnosti najdete v tématu "AllowZeroLength – vlastnost" v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_lCollatingOrder
Určuje posloupnost pořadí řazení v textu pro porovnání nebo řazení řetězců. Podrobnosti najdete v tématu Přizpůsobení nastavení registru systému Windows pro přístup k datům v nápovědě k dao. Seznam možných hodnot vrácených naleznete v m_lCollatingOrder členu CDaoDatabaseInfo struktury. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_strForeignName
Hodnota, která v relaci určuje název objektu pole DAO v cizí tabulce, která odpovídá poli v primární tabulce. Podrobnosti najdete v tématu "ForeignName Property" v nápovědě k DAO.

m_strSourceField
Označuje název pole, které je původním zdrojem dat pro objekt pole DAO obsažený v objektu tabledef, recordset nebo querydef objektu. Tato vlastnost označuje původní název pole přidružený k objektu pole. Tuto vlastnost můžete například použít k určení původního zdroje dat v poli dotazu, jehož název nesouvisí s názvem pole v podkladové tabulce. Podrobnosti najdete v tématu "SourceField, SourceTable Properties" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_strSourceTable
Označuje název tabulky, která je původním zdrojem dat pro objekt pole DAO obsažený v objektu tabledef, recordset nebo querydef objektu. Tato vlastnost označuje původní název tabulky přidružený k objektu pole. Tuto vlastnost můžete například použít k určení původního zdroje dat v poli dotazu, jehož název nesouvisí s názvem pole v podkladové tabulce. Podrobnosti najdete v tématu "SourceField, SourceTable Properties" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_strValidationRule
Hodnota, která ověřuje data v poli při změně nebo přidání do tabulky. Podrobnosti najdete v tématu Vlastnost ValidationRule v nápovědě k dao. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

Související informace o tabledefs, viz m_strValidationRule člen CDaoTableDefInfo struktury.

m_strValidationText
Hodnota, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu pole DAO nevyhovuje ověřovacímu pravidlu určenému nastavením vlastnosti ValidationRule. Podrobnosti najdete v tématu "Vlastnost ValidationText" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

m_strDefaultValue
Výchozí hodnota objektu pole DAO. Při vytvoření nového záznamu je nastavení vlastnosti DefaultValue automaticky zadáno jako hodnota pole. Podrobnosti najdete v tématu "DefaultValue – vlastnost" v nápovědě k DAO. Tuto vlastnost můžete nastavit pro tabledef pomocí CDaoTableDef::CreateField.

Poznámky

Odkazy na Primary, Secondary a All výše ukazují, jak jsou informace vráceny GetFieldInfo členské funkce ve třídách CDaoTableDef, CDaoQueryDef a CDaoRecordset.

Objekty pole nejsou reprezentovány třídou MFC. Místo toho objekty DAO základní MFC objekty následujících tříd obsahují kolekce objektů pole: CDaoTableDef, CDaoRecordset a CDaoQueryDef. Tyto třídy poskytují členské funkce pro přístup k některým jednotlivým položkám informací o polích nebo k nim můžete přistupovat všechny najednou pomocí objektu CDaoFieldInfo voláním GetFieldInfo členské funkce obsahujícího objektu.

Kromě jeho použití ke zkoumání vlastností objektu můžete také použít CDaoFieldInfo k vytvoření vstupního parametru pro vytváření nových polí v tabulce. Pro tuto úlohu jsou k dispozici jednodušší možnosti, ale pokud chcete jemně řídit, můžete použít verzi CDaoTableDef::CreateField , která přebírá CDaoFieldInfo parametr.

Informace načtené GetFieldInfo členovou funkcí (třídy obsahující pole) jsou uloženy ve struktuře CDaoFieldInfo . GetFieldInfo Volání členské funkce obsahujícího objektu, v jehož kolekci Pole je objekt pole uložen. CDaoFieldInfo také definuje členovou Dump funkci v buildech ladění. Můžete použít Dump k výpisu obsahu objektu CDaoFieldInfo .

Požadavky

Záhlaví: afxdao.h

Viz také

Struktury, styly, zpětná volání a mapy zpráv
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo