CDaoRecordView – třída
Zobrazení, které zobrazuje záznamy databáze v ovládacích prvcích.
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 AFX_NOVTABLE CDaoRecordView : public CFormView
Členové
Chráněné konstruktory
Název | Popis |
---|---|
CDaoRecordView::CDaoRecordView | CDaoRecordView Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CDaoRecordView::IsOnFirstRecord | Vrátí nenulové hodnoty, pokud je aktuální záznam prvním záznamem v přidružené sadě záznamů. |
CDaoRecordView::IsOnLastRecord | Vrátí nenulové hodnoty, pokud je aktuální záznam posledním záznamem v přidružené sadě záznamů. |
CDaoRecordView::OnGetRecordset | Vrátí ukazatel na objekt třídy odvozený z CDaoRecordset . TřídaWizard přepíše tuto funkci za vás a v případě potřeby vytvoří sadu záznamů. |
CDaoRecordView::OnMove | Pokud se aktuální záznam změnil, aktualizuje ho ve zdroji dat a pak se přesune na zadaný záznam (další, předchozí, první nebo poslední). |
Poznámky
Zobrazení je zobrazení formuláře přímo připojené k objektu CDaoRecordset
. Zobrazení se vytvoří z prostředku šablony dialogového okna a zobrazí pole objektu CDaoRecordset
v ovládacích prvcích šablony dialogového okna. Objekt CDaoRecordView
používá výměnu dat dialogových oken (DDX) a výměnu polí záznamu DAO (DFX) k automatizaci přesunu dat mezi ovládacími prvky ve formuláři a poli sady záznamů. CDaoRecordView
také poskytuje výchozí implementaci pro přechod na první, další, předchozí nebo poslední záznam a rozhraní pro aktualizaci záznamu aktuálně zobrazeného.
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 používají databázový stroj Microsoft Jet.
Nejběžnější způsob, jak vytvořit zobrazení záznamů, je Průvodce aplikací. Průvodce aplikací vytvoří třídu zobrazení záznamů i její přidruženou třídu sady záznamů jako součást základní aplikace kostry.
Pokud jednoduše potřebujete jeden formulář, je jednodušší přístup Průvodce aplikací. ClassWizard umožňuje rozhodnout se použít zobrazení záznamů později v procesu vývoje. Pokud třídu zobrazení záznamů nevytvoříte pomocí Průvodce aplikací, můžete ji vytvořit později pomocí třídy ClassWizard. Použití ClassWizard k vytvoření zobrazení záznamů a sady záznamů samostatně a jejich následné propojení je nejflexibilnější přístup, protože vám dává větší kontrolu nad pojmenováním třídy sady záznamů a jeho . H/. Soubory CPP. Tento přístup také umožňuje mít více zobrazení záznamů ve stejné třídě sady záznamů.
Aby se koncoví uživatelé mohli v zobrazení záznamů snadno přesouvat ze záznamu na záznam, vytvoří Průvodce aplikací prostředky nabídky (a volitelně panel nástrojů) pro přechod na první, další, předchozí nebo poslední záznam. Pokud vytvoříte třídu zobrazení záznamů pomocí třídy ClassWizard, musíte tyto prostředky vytvořit sami pomocí nabídky a rastrových editorů.
Informace o výchozí implementaci pro přesun ze záznamu do záznamu naleznete IsOnFirstRecord
a IsOnLastRecord
v článku Použití zobrazení záznamu, které platí pro obě CRecordView
a CDaoRecordView
.
CDaoRecordView
sleduje pozici uživatele v sadě záznamů, aby zobrazení záznamů bylo možné aktualizovat uživatelské rozhraní. Když se uživatel přesune na konec sady záznamů, zobrazení záznamů zakáže objekty uživatelského rozhraní ( například položky nabídky nebo tlačítka panelu nástrojů) pro další pohyb ve stejném směru.
Další informace o deklarování a používání zobrazení záznamů a tříd sady záznamů naleznete v tématu Návrh a vytvoření zobrazení záznamů v článku Zobrazení záznamů. Další informace o tom, jak fungují zobrazení záznamů a jak je používat, najdete v článku Použití zobrazení záznamů. Všechny výše uvedené články platí pro oba CRecordView
i CDaoRecordView
.
Hierarchie dědičnosti
CDaoRecordView
Požadavky
Záhlaví: afxdao.h
CDaoRecordView::CDaoRecordView
Při vytváření objektu typu odvozeného z CDaoRecordView
, voláním některé formy konstruktoru inicializovat objekt zobrazení a identifikovat prostředek dialogového okna, na kterém je zobrazení založeno.
explicit CDaoRecordView(LPCTSTR lpszTemplateName);
explicit CDaoRecordView(UINT nIDTemplate);
Parametry
lpszTemplateName
Obsahuje řetězec ukončený hodnotou null, který je názvem prostředku šablony dialogového okna.
nIDTemplate
Obsahuje číslo ID prostředku šablony dialogového okna.
Poznámky
Prostředek můžete buď identifikovat podle názvu (předat řetězec jako argument konstruktoru), nebo jeho ID (předat celé číslo bez znaménka jako argument). Doporučuje se použít ID prostředku.
Poznámka:
Vaše odvozená třída musí zadat svůj vlastní konstruktor. V konstruktoru odvozené třídy zavolejte konstruktor CDaoRecordView::CDaoRecordView
s názvem prostředku nebo ID jako argument.
CDaoRecordView::OnInitialUpdate
volání CWnd::UpdateData
, která volání CWnd::DoDataExchange
. Toto počáteční volání DoDataExchange
pro připojení CDaoRecordView
ovládacích prvků (nepřímo) k CDaoRecordset
datovým členům polí vytvořeným classWizard. Tyto datové členy nelze použít, dokud nevoláte členskou funkci základní třídy CFormView::OnInitialUpdate
.
Poznámka:
Pokud použijete ClassWizard, průvodce definuje enum
hodnotu CDaoRecordView::IDD
v deklaraci třídy a použije ji v seznamu inicializace členů pro konstruktor.
CMyDaoRecordView::CMyDaoRecordView()
: CDaoRecordView(CMyDaoRecordView::IDD)
{
m_pSet = NULL;
// TODO: add construction code here
}
CDaoRecordView::IsOnFirstRecord
Voláním této členské funkce určíte, zda je aktuální záznam prvním záznamem v objektu sady záznamů přidruženém k tomuto zobrazení záznamu.
BOOL IsOnFirstRecord();
Návratová hodnota
Nenulové, pokud je aktuálním záznamem první záznam v sadě záznamů; jinak 0.
Poznámky
Tato funkce je užitečná pro psaní vlastních implementací výchozích obslužných rutin aktualizace příkazů napsaných pomocí TřídyWizard.
Pokud se uživatel přesune na první záznam, architektura zakáže všechny objekty uživatelského rozhraní (například položky nabídky nebo tlačítka panelu nástrojů), které máte pro přechod na první nebo předchozí záznam.
CDaoRecordView::IsOnLastRecord
Voláním této členské funkce určíte, jestli je aktuální záznam posledním záznamem v objektu sady záznamů přidruženém k tomuto zobrazení záznamu.
BOOL IsOnLastRecord();
Návratová hodnota
Nenulové, pokud je aktuálním záznamem poslední záznam v sadě záznamů; jinak 0.
Poznámky
Tato funkce je užitečná pro psaní vlastních implementací výchozích obslužných rutin aktualizace příkazů, které ClassWizard zapisuje, aby podporovalo uživatelské rozhraní pro přesun ze záznamu do záznamu.
Upozornění
Výsledek této funkce je spolehlivý s výjimkou toho, že zobrazení nemusí být schopno rozpoznat konec sady záznamů, dokud se uživatel nepřesune. Uživatel se možná bude muset přesunout nad poslední záznam před zobrazením záznamu, že musí zakázat všechny objekty uživatelského rozhraní pro přechod na další nebo poslední záznam. Pokud se uživatel přesune za poslední záznam a pak se vrátí k poslednímu záznamu (nebo před ním), může zobrazení záznamů sledovat pozici uživatele v sadě záznamů a správně zakázat objekty uživatelského rozhraní.
CDaoRecordView::OnGetRecordset
Vrátí ukazatel na CDaoRecordset
odvozený objekt přidružený k zobrazení záznamu.
virtual CDaoRecordset* OnGetRecordset() = 0;
Návratová hodnota
Ukazatel na -odvozený CDaoRecordset
objekt, pokud byl objekt úspěšně vytvořen; jinak null ukazatel.
Poznámky
Chcete-li vytvořit nebo získat objekt sady záznamů a vrátit ukazatel na tuto členovou funkci, je nutné přepsat tuto členovou funkci. Pokud deklarujete třídu zobrazení záznamů pomocí třídy ClassWizard, průvodce zapíše výchozí přepsání za vás. Výchozí implementace TřídyWizard vrátí ukazatel sady záznamů uložený v zobrazení záznamů, pokud existuje. Pokud ne, vytvoří objekt sady záznamů typu, který jste zadali pomocí TřídyWizard, a zavolá jeho Open
členskou funkci pro otevření tabulky nebo spuštění dotazu a poté vrátí ukazatel na objekt.
Další informace a příklady najdete v článku Zobrazení záznamů: Použití zobrazení záznamů.
CDaoRecordView::OnMove
Voláním této členské funkce přejdete na jiný záznam v sadě záznamů a zobrazíte jeho pole v ovládacích prvcích zobrazení záznamu.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parametry
nIDMoveCommand
Jedna z následujících standardních hodnot ID příkazu:
ID_RECORD_FIRST Přesunout na první záznam v sadě záznamů.
ID_RECORD_LAST Přesunout na poslední záznam v sadě záznamů.
ID_RECORD_NEXT Přesunout na další záznam v sadě záznamů.
ID_RECORD_PREV Přesunout na předchozí záznam v sadě záznamů.
Návratová hodnota
Nenulové, pokud byl přesun úspěšný; jinak 0, pokud byla žádost o přesunutí zamítnuta.
Poznámky
Výchozí implementace volá příslušnou členovou CDaoRecordset
funkci Move objektu přidruženého k zobrazení záznamu.
Ve výchozím nastavení aktualizuje aktuální záznam ve zdroji dat, OnMove
pokud ho uživatel změnil v zobrazení záznamů.
Průvodce aplikací vytvoří prostředek nabídky s položkami nabídky První záznam, Poslední záznam, Další záznam a Předchozí záznam. Pokud vyberete možnost Počáteční panel nástrojů, Průvodce aplikací vytvoří také panel nástrojů s tlačítky odpovídajícími těmto příkazům.
Pokud přesunete poslední záznam v sadě záznamů, bude zobrazení záznamů nadále zobrazovat poslední záznam. Pokud se posunete zpět za první záznam, bude zobrazení záznamů nadále zobrazovat první záznam.
Upozornění
Volání OnMove
vyvolá výjimku, pokud sada záznamů neobsahuje žádné záznamy. Před odpovídající operací přesunutí volejte odpovídající funkci obslužné rutiny aktualizace uživatelského rozhraní – OnUpdateRecordFirst
, OnUpdateRecordLast
OnUpdateRecordNext
, nebo OnUpdateRecordPrev
– a určete, zda sada záznamů obsahuje nějaké záznamy.
Viz také
CFormView – třída
Graf hierarchie
CDaoRecordset – třída
CDaoTableDef – třída
CDaoQueryDef – třída
CDaoDatabase – třída
CDaoWorkspace – třída
CFormView – třída