Sdílet prostřednictvím


CDaoTableDef – třída

Představuje uloženou definici základní tabulky nebo připojené tabulky.

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

class CDaoTableDef : public CObject

Členové

Veřejné konstruktory

Název Popis
CDaoTableDef::CDaoTableDef CDaoTableDef Vytvoří objekt.

Veřejné metody

Název Popis
CDaoTableDef::Append Přidá do databáze novou tabulku.
CDaoTableDef::CanUpdate Vrátí nenulové hodnoty, pokud je možné tabulku aktualizovat (můžete upravit definici polí nebo vlastností tabulky).
CDaoTableDef::Close Zavře otevřenou tabulku.
CDaoTableDef::Create Vytvoří tabulku, kterou lze přidat do databáze pomocí připojení.
CDaoTableDef::CreateField Zavolá se k vytvoření pole pro tabulku.
CDaoTableDef::CreateIndex Volá se k vytvoření indexu pro tabulku.
CDaoTableDef::D eleteField Volá se k odstranění pole z tabulky.
CDaoTableDef::D eleteIndex Volá se k odstranění indexu z tabulky.
CDaoTableDef::GetAttributes Vrátí hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef .
CDaoTableDef::GetConnect Vrátí hodnotu, která poskytuje informace o zdroji tabulky.
CDaoTableDef::GetDateCreated Vrátí datum a čas vytvoření základní tabulky, která je základem objektu CDaoTableDef .
CDaoTableDef::GetDateLastUpdated Vrátí datum a čas poslední změny provedené v návrhu základní tabulky.
CDaoTableDef::GetFieldCount Vrátí hodnotu, která představuje počet polí v tabulce.
CDaoTableDef::GetFieldInfo Vrátí konkrétní typy informací o polích v tabulce.
CDaoTableDef::GetIndexCount Vrátí počet indexů pro tabulku.
CDaoTableDef::GetIndexInfo Vrátí konkrétní typy informací o indexech tabulky.
CDaoTableDef::GetName Vrátí uživatelem definovaný název tabulky.
CDaoTableDef::GetRecordCount Vrátí počet záznamů v tabulce.
CDaoTableDef::GetSourceTableName Vrátí hodnotu, která určuje název připojené tabulky ve zdrojové databázi.
CDaoTableDef::GetValidationRule Vrátí hodnotu, která ověří data v poli při změně nebo přidání do tabulky.
CDaoTableDef::GetValidationText Vrátí hodnotu, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu Pole nevyhovuje zadanému ověřovacímu pravidlu.
CDaoTableDef::IsOpen Vrátí nenulové hodnoty, pokud je tabulka otevřená.
CDaoTableDef::Open Otevře existující tabulku uloženou v kolekci TableDef databáze.
CDaoTableDef::RefreshLink Aktualizuje informace o připojení připojené tabulky.
CDaoTableDef::SetAttributes Nastaví hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef .
CDaoTableDef::SetConnect Nastaví hodnotu, která poskytuje informace o zdroji tabulky.
CDaoTableDef::SetName Nastaví název tabulky.
CDaoTableDef::SetSourceTableName Nastaví hodnotu, která určuje název připojené tabulky ve zdrojové databázi.
CDaoTableDef::SetValidationRule Nastaví hodnotu, která ověří data v poli při změně nebo přidání do tabulky.
CDaoTableDef::SetValidationText Nastaví hodnotu, která určuje text zprávy, kterou aplikace zobrazí, pokud hodnota objektu Pole nevyhovuje zadanému ověřovacímu pravidlu.

Veřejné datové členy

Název Popis
CDaoTableDef::m_pDAOTableDef Ukazatel na rozhraní DAO podkladového objektu tabledef.
CDaoTableDef::m_pDatabase Zdrojová databáze pro tuto tabulku

Poznámky

Každý databázový objekt DAO udržuje kolekci s názvem TableDefs, která obsahuje všechny uložené objekty daO tabledef.

Pracujete s definicí tabulky pomocí objektu CDaoTableDef . Je například možné:

  • Prozkoumejte pole a strukturu indexu libovolné místní, připojené nebo externí tabulky v databázi.

  • SetConnect Volejte funkce a SetSourceTableName členské funkce pro připojené tabulky a pomocí RefreshLink členské funkce aktualizujte připojení k připojeným tabulkám.

  • Voláním CanUpdate členské funkce určíte, jestli můžete upravit definice polí v tabulce.

  • Získejte nebo nastavte ověřovací podmínky pomocí GetValidationRule funkcí a SetValidationRuleGetValidationText a SetValidationText členů.

  • Open Pomocí členské funkce vytvořte objekt typu table-, dynaset nebo snapshot-typeCDaoRecordset.

    Poznámka:

    Databázové třídy DAO se liší od databázových tříd MFC založených na rozhraní ODBC (Open Database Connectivity). Všechny názvy databázových tříd DAO mají předponu CDao. Stále máte přístup ke zdrojům dat ODBC pomocí tříd DAO; třídy DAO obecně nabízejí vynikající funkce, protože jsou specifické pro databázový stroj Microsoft Jet.

Použití objektů tabledef pro práci s existující tabulkou nebo vytvoření nové tabulky

  1. Ve všech případech nejprve vytvořte CDaoTableDef objekt a zadejte ukazatel na objekt CDaoDatabase , do kterého tabulka patří.

  2. Pak postupujte podle toho, co chcete:

    • Pokud chcete použít existující uloženou tabulku, zavolejte funkci Open member objektu tabledef a zadejte název uložené tabulky.

    • Pokud chcete vytvořit novou tabulku, zavolejte funkci Create member objektu tabledef a zadejte název tabulky. Volání CreateField a CreateIndex pro přidání polí a indexů do tabulky.

    • Voláním připojit tabulku uložte tak, že ji připojíte k kolekci TableDefs databáze. Create umístí tabulku do otevřeného stavu, takže po volání nevoláte Create Open.

      Tip

      Nejjednodušší způsob, jak vytvořit uložené tabulky, je vytvořit je a uložit do databáze pomocí Microsoft Accessu. Pak je můžete otevřít a použít v kódu MFC.

Pokud chcete použít objekt tabledef, který jste otevřeli nebo vytvořili, vytvořte a otevřete CDaoRecordset objekt a zadejte název tabledef s dbOpenTable hodnotou v parametru nOpenType .

Pokud chcete k vytvoření objektu CDaoRecordset použít tabledef, obvykle vytvoříte nebo otevřete tabledef, jak je popsáno výše, a pak vytvoříte objekt sady záznamů a předáte ukazatel na objekt tabledef při volání CDaoRecordset::Open. Předávací definice musí být v otevřeném stavu. Další informace naleznete ve třídě CDaoRecordset.

Jakmile dokončíte použití objektu tabledef, zavolejte jeho funkci Zavřít člena; pak zničit objekt tabledef.

Hierarchie dědičnosti

Objekt CObject

CDaoTableDef

Požadavky

Záhlaví: afxdao.h

CDaoTableDef::Append

Volání této členské funkce po volání create vytvořit nový tabledef objekt pro uložení tabledef v databázi.

virtual void Append();

Poznámky

Funkce připojí objekt do kolekce TableDefs databáze. Tabledef můžete použít jako dočasný objekt při jeho definování tím, že ho nepřipojíte, ale pokud ho chcete uložit a použít, musíte volat Append.

Poznámka:

Pokud se pokusíte připojit nepojmenovaný tabledef (obsahující řetězec s hodnotou null nebo prázdný řetězec), mfc vyvolá výjimku.

Související informace najdete v tématu "Metoda připojení" v nápovědě k rozhraní DAO.

CDaoTableDef::CanUpdate

Voláním této členské funkce určíte, zda lze změnit definici tabulky podkladové objektu CDaoTableDef .

BOOL CanUpdate();

Návratová hodnota

Nenulová, pokud je možné změnit strukturu tabulky (schéma) (přidat nebo odstranit pole a indexy), jinak 0.

Poznámky

Ve výchozím nastavení lze aktualizovat nově vytvořenou tabulku, která je podkladem objektu CDaoTableDef , a připojenou tabulku, která je podkladem objektu CDaoTableDef , nelze aktualizovat. Objekt CDaoTableDef může být aktualizovatelný, i když výsledná sada záznamů není aktualizovatelná.

Související informace najdete v tématu Aktualizovatelná vlastnost v nápovědě k DAO.

CDaoTableDef::CDaoTableDef

CDaoTableDef Vytvoří objekt.

CDaoTableDef(CDaoDatabase* pDatabase);

Parametry

pDatabase
Ukazatel na objekt CDaoDatabase .

Poznámky

Po vytvoření objektu je nutné volat funkci Create nebo Open member function. Po dokončení s objektem je nutné zavolat jeho close člen funkce a zničit CDaoTableDef objekt.

CDaoTableDef::Close

Voláním této členské funkce zavřete a uvolněte objekt tabledef.

virtual void Close();

Poznámky

Obvykle po volání Close, odstranit tabledef objekt, pokud byl přidělen new.

Po volání můžete volat Closeznovu Otevřít . To vám umožní znovu použít objekt tabledef.

Související informace najdete v tématu "Zavřít metodu" v nápovědě k DAO.

CDaoTableDef::Create

Voláním této členské funkce vytvoříte novou uloženou tabulku.

virtual void Create(
    LPCTSTR lpszName,
    long lAttributes = 0,
    LPCTSTR lpszSrcTable = NULL,
    LPCTSTR lpszConnect = NULL);

Parametry

lpszName
Ukazatel na řetězec obsahující název tabulky.

lAttributes
Hodnota odpovídající charakteristikám tabulky reprezentované objektem tabledef. Bitwise-OR můžete použít ke kombinování některé z následujících konstant:

Konstanta Popis
dbAttachExclusive U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití.
dbAttachSavePWD U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení.
dbSystemObject Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet.
dbHiddenObject Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet.

lpszSrcTable
Ukazatel na řetězec obsahující název zdrojové tabulky. Ve výchozím nastavení se tato hodnota inicializuje jako NULL.

lpszConnect
Ukazatel na řetězec obsahující výchozí připojovací řetězec. Ve výchozím nastavení se tato hodnota inicializuje jako NULL.

Poznámky

Jakmile pojmenujete tabledef, můžete volat Append a uložit tabledef v kolekci TableDefs databáze. Po volání Appendje tabledef v otevřeném stavu a můžete ho použít k vytvoření objektu CDaoRecordset .

Související informace najdete v tématu CreateTableDef – metoda v nápovědě k dao.

CDaoTableDef::CreateField

Voláním této členské funkce přidáte do tabulky pole.

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

void CreateField(CDaoFieldInfo& fieldinfo);

Parametry

lpszName
Ukazatel na řetězcový výraz určující název tohoto pole.

nType
Hodnota označující datový typ pole. Toto nastavení může být jedna z těchto hodnot:

Typ Velikost (bajty) Popis
dbBoolean 1 bajt BOOL
dbByte BYTE
dbInteger 2 int
dbLong 4 long
dbCurrency 8 Currency ( COleCurrency)
dbSingle 4 float (číslo s plovoucí řádovou čárkou)
dbDouble 8 double
dbDate 8 Datum a čas ( COleDateTime)
dbText 1 - 255 Text ( CString)
dbLongBinary 0 Long Binary (OLE – objekt), CLongBinary nebo CByteArray
dbMemo 0 Memo ( CString)

LSize
Hodnota označující maximální velikost pole obsahujícího text nebo pevnou velikost pole obsahujícího textové nebo číselné hodnoty. Parametr lSize se ignoruje pro všechna textová pole.

lAttributes
Hodnota odpovídající charakteristikám pole a která se dá zkombinovat pomocí bitové hodnoty OR.

Konstanta Popis
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 se seřadí sestupně (Z – A nebo 100 – 0) (platí pouze pro objekt Pole v kolekci Pole objektu Index). Pokud tuto konstantu vynecháte, pole se seřadí vzestupně (A – Z nebo 0 – 100) (výchozí).

fieldinfo
Odkaz na strukturu CDaoFieldInfo .

Poznámky

Objekt DAOField (OLE) je vytvořen a připojen k kolekci Pole objektu DAOTableDef (OLE). 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. První verze CreateField je jednodušší použít, ale pokud chcete jemněji ovládat, můžete použít druhou verzi CreateField, která přebírá CDaoFieldInfo parametr.

Pokud používáte verzi CreateField , která přebírá CDaoFieldInfo parametr, musíte pečlivě nastavit všechny následující členy CDaoFieldInfo struktury:

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

Zbývající členové CDaoFieldInfo by měli být nastaveni na hodnotu 0, NEPRAVDA nebo prázdný řetězec podle potřeby člena nebo může dojít k výskytu CDaoException .

Související informace naleznete v tématu CreateField Method v nápovědě k DAO.

CDaoTableDef::CreateIndex

Voláním této funkce přidáte index do tabulky.

void CreateIndex(CDaoIndexInfo& indexinfo);

Parametry

indexinfo
Odkaz na strukturu CDaoIndexInfo .

Poznámky

Indexy určují pořadí záznamů, ke které se přistupuje z databázových tabulek a zda jsou přijímány duplicitní záznamy. Indexy také poskytují efektivní přístup k datům.

Indexy pro tabulky nemusíte vytvářet, ale ve velkých neindexovaných tabulkách může přístup ke konkrétnímu záznamu nebo vytvoření sady záznamů trvat dlouho. Na druhou stranu vytváření příliš mnoha indexů zpomaluje operace aktualizace, připojení a odstranění, protože všechny indexy se automaticky aktualizují. Při rozhodování, které indexy se mají vytvořit, zvažte tyto faktory.

Musí být nastaveny následující členy CDaoIndexInfo struktury:

  • m_strName Musí být zadán název.

  • m_pFieldInfos Musí odkazovat na pole CDaoIndexFieldInfo struktur.

  • m_nFields Je nutné zadat počet polí v matici CDaoFieldInfo struktur.

Zbývající členové budou ignorováni, pokud je nastavena hodnota NEPRAVDA. Kromě toho m_lDistinctCount se člen při vytváření indexu ignoruje.

CDaoTableDef::D eleteField

Voláním této členské funkce odeberete pole a znepřístupníte ho.

void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);

Parametry

lpszName
Ukazatel na řetězcový výraz, který je názvem existujícího pole.

nIndex
Index pole v kolekci polí založených na nule tabulky pro vyhledávání podle indexu.

Poznámky

Tuto členovou funkci můžete použít u nového objektu, který nebyl připojen k databázi nebo když CanUpdate vrátí nenulovou hodnotu.

Související informace najdete v tématu "Metoda odstranění" v nápovědě k DAO.

CDaoTableDef::D eleteIndex

Voláním této členské funkce odstraníte index v podkladové tabulce.

void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);

Parametry

lpszName
Ukazatel na řetězcový výraz, který je názvem existujícího indexu.

nIndex
Index pole objektu indexu v kolekci TableDefs založené na nule databáze pro vyhledávání podle indexu.

Poznámky

Tuto členovou funkci můžete použít u nového objektu, který nebyl připojen k databázi nebo když CanUpdate vrátí nenulovou hodnotu.

Související informace najdete v tématu "Metoda odstranění" v nápovědě k DAO.

CDaoTableDef::GetAttributes

CDaoTableDef U objektu návratová hodnota určuje vlastnosti tabulky reprezentované objektem CDaoTableDef a může se jednat o součet těchto konstant:

long GetAttributes();

Návratová hodnota

Vrátí hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef .

Poznámky

Konstanta Popis
dbAttachExclusive U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití.
dbAttachSavePWD U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení.
dbSystemObject Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet.
dbHiddenObject Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet.
dbAttachedTable Označuje, že tabulka je připojená tabulka z databáze jiného typu než ODBC, například z databáze Paradox.
dbAttachedODBC Označuje, že tabulka je připojená tabulka z databáze ODBC, například Microsoft SQL Server.

Systémová tabulka je tabulka vytvořená databázovým strojem Microsoft Jet, která obsahuje různé interní informace.

Skrytá tabulka je tabulka vytvořená pro dočasné použití databázovým strojem Microsoft Jet.

Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.

CDaoTableDef::GetConnect

Voláním této členské funkce získáte připojovací řetězec pro zdroj dat.

CString GetConnect();

Návratová hodnota

Objekt CString obsahující cestu a typ databáze pro tabulku.

Poznámky

CDaoTableDef Pro objekt, který představuje připojenou tabulku, CString se objekt skládá z jedné nebo dvou částí (specifikátor typu databáze a cesta k databázi).

Cesta, jak je znázorněno v tabulce níže, je úplná cesta pro adresář obsahující soubory databáze a musí předcházet identifikátor "DATABASE=". V některých případech (stejně jako u databází Microsoft Jet a Microsoft Excel) je v argumentu cesty k databázi zahrnutý konkrétní název souboru.

Tabulka v CDaoTableDef::SetConnect zobrazuje možné typy databází a jejich odpovídající specifikátory a cesty databáze:

Pro základní tabulky databáze Microsoft Jet je specifikátor prázdný řetězec ("").

Pokud je požadováno heslo, ale není zadané, ovladač ODBC zobrazí přihlašovací dialogové okno při prvním přístupu k tabulce a znovu, pokud je připojení zavřeno a znovu otevřeno. Pokud má dbAttachSavePWD připojená tabulka atribut, výzva k přihlášení se nezobrazí při opětovném otevření tabulky.

Související informace najdete v tématu "Připojit vlastnost" v nápovědě k dao.

CDaoTableDef::GetDateCreated

Voláním této funkce určíte datum a čas vytvoření tabulky, která je základem objektu CDaoTableDef .

COleDateTime GetDateCreated();

Návratová hodnota

Hodnota obsahující datum a čas vytvoření tabulky, která je podkladovým objektem CDaoTableDef .

Poznámky

Nastavení data a času jsou odvozena od počítače, na kterém byla vytvořena nebo naposledy aktualizována základní tabulka. V prostředí s více uživateli by uživatelé měli tato nastavení získat přímo ze souborového serveru, aby se zabránilo nesrovnalostem; to znamená, že všichni klienti by měli používat "standardní" zdroj času – třeba z jednoho serveru.

Související informace najdete v tématu "DateCreated, LastUpdated Properties" v nápovědě k daO.

CDaoTableDef::GetDateLastUpdated

Voláním této funkce určíte datum a čas, kdy byla tabulka podkladového objektu CDaoTableDef naposledy aktualizována.

COleDateTime GetDateLastUpdated();

Návratová hodnota

Hodnota, která obsahuje datum a čas, kdy byla tabulka podkladového objektu CDaoTableDef naposledy aktualizována.

Poznámky

Nastavení data a času jsou odvozena od počítače, na kterém byla vytvořena nebo naposledy aktualizována základní tabulka. V prostředí s více uživateli by uživatelé měli tato nastavení získat přímo ze souborového serveru, aby se zabránilo nesrovnalostem; to znamená, že všichni klienti by měli používat "standardní" zdroj času – třeba z jednoho serveru.

Související informace najdete v tématu "DateCreated, LastUpdated Properties" v nápovědě k daO.

CDaoTableDef::GetFieldCount

Voláním této členské funkce načtěte počet polí definovaných v tabulce.

short GetFieldCount();

Návratová hodnota

Počet polí v tabulce

Poznámky

Pokud je hodnota 0, v kolekci nejsou žádné objekty.

Související informace najdete v tématu "Počet vlastností" v nápovědě k DAO.

CDaoTableDef::GetFieldInfo

Voláním této členské funkce získáte různé druhy informací o poli definovaném v tabulce.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametry

nIndex
Index objektu pole v kolekci Pole založená na nule tabulky pro vyhledávání podle indexu.

fieldinfo
Odkaz na strukturu CDaoFieldInfo .

dwInfoOptions
Možnosti, které určují, které informace o poli se mají načíst. Dostupné možnosti jsou zde uvedeny spolu s tím, co způsobí vrácení funkce:

  • AFX_DAO_PRIMARY_INFO (Výchozí) Název, typ, velikost, atributy. Tuto možnost použijte pro nejrychlejší výkon.

  • AFX_DAO_SECONDARY_INFO Primární informace, plus: Pořadí pořadových řad, Povinné, Povolit nulovou délku, Pořadí kolace, Cizí název, Zdrojové pole, Zdrojová tabulka

  • AFX_DAO_ALL_INFO Primární a sekundární informace, plus: Ověřovací pravidlo, Ověřovací text, Výchozí hodnota

lpszName
Ukazatel na název objektu pole pro vyhledávání podle názvu. Název je řetězec s až 64 znaky, které pole jednoznačně pojmenovává.

Poznámky

Jedna verze funkce umožňuje vyhledat pole podle indexu. Druhá verze umožňuje vyhledat pole podle názvu.

Popis vrácených informací naleznete v CDaoFieldInfo struktury. Tato struktura obsahuje členy, které odpovídají položkám informací uvedených výše v popisu dwInfoOptions. Když požadujete informace na jedné úrovni, získáte také informace o všech předchozích úrovních.

Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.

CDaoTableDef::GetIndexCount

Voláním této členské funkce získáte počet indexů pro tabulku.

short GetIndexCount();

Návratová hodnota

Počet indexů pro tabulku.

Poznámky

Pokud je hodnota 0, v kolekci nejsou žádné indexy.

Související informace najdete v tématu "Počet vlastností" v nápovědě k DAO.

CDaoTableDef::GetIndexInfo

Voláním této členské funkce získáte různé druhy informací o indexu definovaném v tabulce.

void GetIndexInfo(
    int nIndex,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetIndexInfo(
    LPCTSTR lpszName,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parametry

nIndex
Číselný index objektu Index v kolekci indexů založené na nule tabulky pro vyhledávání podle jeho pozice v kolekci.

indexinfo
Odkaz na strukturu CDaoIndexInfo .

dwInfoOptions
Možnosti, které určují, které informace o indexu se mají načíst. Dostupné možnosti jsou zde uvedeny spolu s tím, co způsobí vrácení funkce:

  • AFX_DAO_PRIMARY_INFO Název, informace o poli, pole. Tuto možnost použijte pro nejrychlejší výkon.

  • AFX_DAO_SECONDARY_INFO Primární informace, plus: Primární, Jedinečný, Skupinový, Ignorovat hodnoty Null, Povinné, Cizí

  • AFX_DAO_ALL_INFO Primární a sekundární informace plus: Počet jedinečných položek

lpszName
Ukazatel na název objektu indexu pro vyhledávání podle názvu.

Poznámky

Jedna verze funkce umožňuje vyhledat index podle jeho pozice v kolekci. Druhá verze umožňuje vyhledat index podle názvu.

Popis vrácených informací naleznete v CDaoIndexInfo struktury. Tato struktura obsahuje členy, které odpovídají položkám informací uvedených výše v popisu dwInfoOptions. Když požadujete informace na jedné úrovni, získáte také informace o všech předchozích úrovních.

Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.

CDaoTableDef::GetName

Voláním této členské funkce získáte uživatelem definovaný název podkladové tabulky.

CString GetName();

Návratová hodnota

Uživatelem definovaný název tabulky.

Poznámky

Tento název začíná písmenem a může obsahovat maximálně 64 znaků. Může obsahovat čísla a podtržítka, ale nesmí obsahovat interpunkci ani mezery.

Související informace najdete v tématu "Vlastnost názvu" v nápovědě k DAO.

CDaoTableDef::GetRecordCount

Voláním této členské funkce zjistíte, kolik záznamů je v objektu CDaoTableDef .

long GetRecordCount();

Návratová hodnota

Početzáznamůch

Poznámky

Volání GetRecordCount objektu typu CDaoTableDef tabulky odráží přibližný počet záznamů v tabulce a je ovlivněn okamžitě při přidání a odstranění záznamů tabulky. Vrácené transakce se zobrazí jako součást počtu záznamů, dokud nevoláte CDaoWorkSpace::CompactDatabase. Objekt CDaoTableDef bez záznamů má nastavení vlastnosti počtu záznamů 0. Při práci s připojenými tabulkami nebo databázemi GetRecordCount ODBC vždy vrátí hodnotu -1.

Související informace naleznete v tématu "RecordCount – vlastnost" v nápovědě k dao.

CDaoTableDef::GetSourceTableName

Voláním této členské funkce načtěte název připojené tabulky ve zdrojové databázi.

CString GetSourceTableName();

Návratová hodnota

Objekt CString , který určuje název zdroje připojené tabulky nebo prázdný řetězec, pokud nativní datová tabulka.

Poznámky

Připojená tabulka je tabulka v jiné databázi propojené s databází Microsoft Jet. Data připojených tabulek zůstávají v externí databázi, kde je můžou manipulovat jiné aplikace.

Související informace najdete v tématu "Vlastnost SourceTableName" v nápovědě k DAO.

CDaoTableDef::GetValidationRule

Voláním této členské funkce načtěte ověřovací pravidlo tabulky.

CString GetValidationRule();

Návratová hodnota

CString Objekt, který ověřuje data v poli při změně nebo přidání do tabulky.

Poznámky

Ověřovací pravidla se používají v souvislosti s operacemi aktualizace. Pokud tabulka obsahuje ověřovací pravidlo, musí aktualizace této tabulky před změnou dat odpovídat předem určeným kritériím. Pokud změna neodpovídá kritériím, vyvolá se výjimka obsahující hodnotu GetValidationText . U objektu CDaoTableDef je to CString jen pro čtení pro připojenou tabulku a pro čtení a zápis pro základní tabulku.

Související informace naleznete v tématu "ValidationRule – vlastnost" v nápovědě k dao.

CDaoTableDef::GetValidationText

Voláním této funkce načtěte řetězec, který se zobrazí, když uživatel zadá data, která neodpovídají ověřovacímu pravidlu.

CString GetValidationText();

Návratová hodnota

CString Objekt, který určuje text zobrazený, pokud uživatel zadá data, která neodpovídají ověřovacímu pravidlu.

Poznámky

U objektu CDaoTableDef je to CString jen pro čtení pro připojenou tabulku a pro čtení a zápis pro základní tabulku.

Související informace naleznete v tématu "Vlastnost ValidationText" v nápovědě k dao.

CDaoTableDef::IsOpen

Voláním této členské funkce určíte, zda CDaoTableDef je objekt aktuálně otevřen.

BOOL IsOpen() const;

Návratová hodnota

Nenulové, pokud CDaoTableDef je objekt otevřený; jinak 0.

Poznámky

CDaoTableDef::m_pDatabase

Obsahuje ukazatel na objekt CDaoDatabase pro tuto tabulku.

Poznámky

CDaoTableDef::m_pDAOTableDef

Obsahuje ukazatel na rozhraní OLE pro objekt DAO tabledef, který je základem objektu CDaoTableDef .

Poznámky

Tento ukazatel použijte, pokud potřebujete přímý přístup k rozhraní DAO.

CDaoTableDef::Open

Voláním této členské funkce otevřete tabulku dříve uloženou v kolekci TableDef databáze.

virtual void Open(LPCTSTR lpszName);

Parametry

lpszName
Ukazatel na řetězec, který určuje název tabulky.

Poznámky

Voláním této členské funkce aktualizujte informace o připojení připojené tabulky.

void RefreshLink();

Poznámky

Informace o připojení připojené tabulky změníte voláním SetConnect u odpovídajícího CDaoTableDef objektu a následným použitím RefreshLink členské funkce k aktualizaci informací. Při volání RefreshLinkse vlastnosti připojené tabulky nezmění.

Chcete-li vynutit, aby se změněné informace o připojení projevily, musí být všechny otevřené objekty CDaoRecordset založené na této tabulce uzavřeny.

Související informace najdete v tématu Metoda RefreshLink v nápovědě k dao.

CDaoTableDef::SetAttributes

Nastaví hodnotu, která označuje jednu nebo více charakteristik objektu CDaoTableDef .

void SetAttributes(long lAttributes);

Parametry

lAttributes
Charakteristiky tabulky reprezentované objektem CDaoTableDef a mohou být součtem těchto konstant:

Konstanta Popis
dbAttachExclusive U databází, které používají databázový stroj Microsoft Jet, označuje, že tabulka je připojená tabulka otevřená pro výhradní použití.
dbAttachSavePWD U databází, které používají databázový stroj Microsoft Jet, označuje, že ID uživatele a heslo připojené tabulky jsou uloženy s informacemi o připojení.
dbSystemObject Označuje, že tabulka je systémová tabulka poskytovaná databázovým strojem Microsoft Jet.
dbHiddenObject Označuje, že tabulka je skrytá tabulka poskytovaná databázovým strojem Microsoft Jet.

Poznámky

Při nastavování více atributů je můžete zkombinovat tak, že sečtete příslušné konstanty pomocí bitové operátoru OR. Nastavení dbAttachExclusive tabulky, která není součástí připojení, vytvoří výjimku. Kombinováním následujících hodnot dojde také k výjimce:

  • dbAttachExclusive | dbAttachedODBC

  • dbAttachSavePWD | dbAttachedTable

Související informace naleznete v tématu Vlastnosti atributů v nápovědě k dao.

CDaoTableDef::SetConnect

CDaoTableDef Pro objekt, který představuje připojenou tabulku, se objekt řetězce skládá z jedné nebo dvou částí (specifikátor typu databáze a cesta k databázi).

void SetConnect(LPCTSTR lpszConnect);

Parametry

lpszConnect
Ukazatel na řetězcový výraz, který určuje další parametry pro předání ovladačům ODBC nebo instalovatelným ovladačům ISAM.

Poznámky

Cesta, jak je znázorněno v tabulce níže, je úplná cesta pro adresář obsahující soubory databáze a musí předcházet identifikátor "DATABASE=". V některých případech (stejně jako u databází Microsoft Jet a Microsoft Excel) je v argumentu cesty k databázi zahrnutý konkrétní název souboru.

Poznámka:

Nepoužívejte prázdné znaky kolem příkazů cesty rovnítko ve formuláři "DATABASE=drive:\\path". Výsledkem bude vyvolána výjimka a připojení selhává.

Následující tabulka uvádí možné typy databází a jejich odpovídající specifikátory a cesty databáze:

Typ databáze Specifikátor Cesta
Databáze pomocí databázového stroje Jet "[ database];" " drive:\\ cesta\\ název souboru. MDB"
dBASE III "dBASE III;" " drive:\\ cesta"
dBASE IV "dBASE IV;" " drive:\\ cesta"
dBASE 5 "dBASE 5.0;" " drive:\\ cesta"
Paradox 3.x "Paradox 3.x;" " drive:\\ cesta"
Paradox 4.x "Paradox 4.x;" " drive:\\ cesta"
Paradox 5.x "Paradox 5.x;" " drive:\\ cesta"
Excel 3.0 "Excel 3.0;" " drive:\\ cesta název_souboru\\ .XLS"
Excel 4.0 "Excel 4.0;" " drive:\\ cesta název_souboru\\ .XLS"
Excel 5.0 nebo Excel 95 "Excel 5.0;" " drive:\\ cesta název_souboru\\ .XLS"
Excel 97 "Excel 8.0;" " drive:\\ cesta název_souboru\ .XLS"
HTML Import "Import HTML;" " drive:\\ cesta název_souboru\ "
HTML Export "Export HTML;" " drive:\\ cesta"
Text "Text;" "drive:\\path"
ODBC "ODBC; DATABASE= database; UID= uživatel; PWD= heslo; DSN= název zdroje dat; LOGINTIMEOUT= sekundy;" (Nemusí to být úplný připojovací řetězec pro všechny servery; je to jen příklad. Je velmi důležité, abyste mezi parametry neměli mezery.) Nic
Exchange "Výměna;

MAPILEVEL= cesta ke složce;

[TABLETYPE={ 0 | 1 };]

[PROFILE= profil;]

[PWD= heslo;]

[DATABASE= database;]"
"drive:\\ path\\ filename. MDB"

Poznámka:

Btrieve se už nepodporuje jako DAO 3.5.

V připojovací řetězec je nutné použít dvojité zpětné lomítko (\\). Pokud jste upravili vlastnosti existujícího připojení pomocí SetConnect, musíte následně volat RefreshLink. Pokud inicializujete vlastnosti připojení pomocí SetConnect, nemusíte volat RefreshLink, ale měli byste se rozhodnout, že to uděláte, nejprve připojte tabulku.

Pokud je požadováno heslo, ale není zadané, ovladač ODBC zobrazí přihlašovací dialogové okno při prvním přístupu k tabulce a znovu, pokud je připojení zavřeno a znovu otevřeno.

Připojovací řetězec objektu CDaoTableDef můžete nastavit zadáním zdrojového argumentu Create členské funkci. Můžete zkontrolovat nastavení a určit typ, cestu, ID uživatele, heslo nebo zdroj dat ODBC databáze. Další informace najdete v dokumentaci pro konkrétní ovladač.

Související informace najdete v tématu "Připojit vlastnost" v nápovědě k dao.

CDaoTableDef::SetName

Voláním této členské funkce nastavíte uživatelem definovaný název tabulky.

void SetName(LPCTSTR lpszName);

Parametry

lpszName
Ukazatel na řetězcový výraz, který určuje název tabulky.

Poznámky

Název musí začínat písmenem a může obsahovat maximálně 64 znaků. Může obsahovat čísla a podtržítka, ale nesmí obsahovat interpunkci ani mezery.

Související informace najdete v tématu "Vlastnost názvu" v nápovědě k DAO.

CDaoTableDef::SetSourceTableName

Voláním této členské funkce určíte název připojené tabulky nebo název základní tabulky, na které CDaoTableDef je objekt založen, protože existuje v původním zdroji dat.

void SetSourceTableName(LPCTSTR lpszSrcTableName);

Parametry

lpszSrcTableName
Ukazatel na řetězcový výraz, který určuje název tabulky v externí databázi. Pro základní tabulku je nastavení prázdný řetězec ("").

Poznámky

Pak musíte zavolat RefreshLink. Toto nastavení vlastnosti je prázdné pro základní tabulku a čtení/zápis připojené tabulky nebo objekt, který není připojen k kolekci.

Související informace najdete v tématu "Vlastnost SourceTableName" v nápovědě k DAO.

CDaoTableDef::SetValidationRule

Voláním této členské funkce nastavíte ověřovací pravidlo pro tabulku.

void SetValidationRule(LPCTSTR lpszValidationRule);

Parametry

lpszValidationRule
Ukazatel na řetězcový výraz, který ověřuje operaci.

Poznámky

Ověřovací pravidla se používají v souvislosti s operacemi aktualizace. Pokud tabulka obsahuje ověřovací pravidlo, musí aktualizace této tabulky před změnou dat odpovídat předem určeným kritériím. Pokud změna neodpovídá kritériím, zobrazí se výjimka obsahující text GetValidationText .

Ověřování je podporováno pouze pro databáze, které používají databázový stroj Microsoft Jet. Výraz nemůže odkazovat na uživatelem definované funkce, agregační funkce domény, agregační funkce SQL ani dotazy. Ověřovací pravidlo pro CDaoTableDef objekt může odkazovat na více polí v daném objektu.

Například pro pole s názvem hire_date a termination_date může být ověřovací pravidlo:

myTableDef.SetValidationRule(_T("termination_date > hire_date"));

Související informace naleznete v tématu "ValidationRule – vlastnost" v nápovědě k dao.

CDaoTableDef::SetValidationText

Voláním této členské funkce nastavíte text ověřovacího pravidla výjimky pro CDaoTableDef objekt s podkladovou základní tabulkou podporovanou databázovým strojem Microsoft Jet.

void SetValidationText(LPCTSTR lpszValidationText);

Parametry

lpszValidationText
Ukazatel na řetězcový výraz, který určuje text zobrazený v případě, že zadaná data jsou neplatná.

Poznámky

Ověřovací text připojené tabulky nelze nastavit.

Související informace naleznete v tématu "Vlastnost ValidationText" v nápovědě k dao.

Viz také

CObject – třída
Graf hierarchie
CDaoDatabase – třída
CDaoRecordset – třída