Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Een weergave waarin databaserecords in besturingselementen worden weergegeven.
Opmerking
DAO wordt ondersteund via Office 2013. DAO 3.6 is de definitieve versie en wordt beschouwd als verouderd.
Syntaxis
class AFX_NOVTABLE CDaoRecordView : public CFormView
Leden
Beveiligde constructors
| Naam | Description |
|---|---|
| CDaoRecordView::CDaoRecordView | Maakt een CDaoRecordView object. |
Openbare methoden
| Naam | Description |
|---|---|
| CDaoRecordView::IsOnFirstRecord | Retourneert niet-nul als de huidige record de eerste record is in de gekoppelde recordset. |
| CDaoRecordView::IsOnLastRecord | Retourneert niet-nul als de huidige record de laatste record is in de gekoppelde recordset. |
| CDaoRecordView::OnGetRecordset | Retourneert een aanwijzer naar een object van een klasse die is afgeleid van CDaoRecordset. ClassWizard overschrijft deze functie voor u en maakt indien nodig de recordset. |
| CDaoRecordView::OnMove | Als de huidige record is gewijzigd, werkt u deze bij op de gegevensbron en gaat u naar de opgegeven record (volgende, vorige, eerste of laatste). |
Opmerkingen
De weergave is een formulierweergave die rechtstreeks is verbonden met een CDaoRecordset object. De weergave wordt gemaakt op basis van een dialoogvenstersjabloonresource en geeft de velden van het CDaoRecordset object weer in de besturingselementen van de dialoogvenstersjabloon. Het CDaoRecordView object maakt gebruik van dialoogvenstergegevensuitwisseling (DDX) en DAO Record Field Exchange (DFX) om het verplaatsen van gegevens tussen de besturingselementen in het formulier en de velden van de recordset te automatiseren.
CDaoRecordView biedt ook een standaard implementatie voor het verplaatsen naar de eerste, volgende, vorige of laatste record en een interface voor het bijwerken van de record die momenteel wordt weergegeven.
Opmerking
De DAO-databaseklassen verschillen van de MFC-databaseklassen op basis van ODBC (Open Database Connectivity). Alle DAO-databaseklassenamen hebben het voorvoegsel 'CDao'. U hebt nog steeds toegang tot ODBC-gegevensbronnen met de DAO-klassen; de DAO-klassen bieden over het algemeen superieure mogelijkheden omdat ze de Microsoft Jet-database-engine gebruiken.
De meest voorkomende manier om uw recordweergave te maken, is met de wizard Toepassing. De wizard Toepassing maakt zowel de recordweergaveklasse als de bijbehorende recordsetklasse als onderdeel van uw skeleton starter-toepassing.
Als u slechts één formulier nodig hebt, is de wizard Toepassing eenvoudiger. Met ClassWizard kunt u later in het ontwikkelingsproces een recordweergave gebruiken. Als u de recordweergaveklasse niet maakt met de wizard Toepassing, kunt u deze later maken met ClassWizard. Het gebruik van ClassWizard om een recordweergave en een recordset afzonderlijk te maken en deze vervolgens te verbinden, is de meest flexibele benadering, omdat u hiermee meer controle hebt over het benoemen van de recordsetklasse en de bijbehorende recordset. H/. CPP-bestanden. Met deze methode kunt u ook meerdere recordweergaven in dezelfde recordsetklasse hebben.
Om het voor eindgebruikers eenvoudig te maken om van record naar record te gaan in de recordweergave, maakt de wizard Toepassingswizard menubronnen (en optioneel werkbalk) voor het verplaatsen naar de eerste, volgende, vorige of laatste record. Als u een recordweergaveklasse maakt met ClassWizard, moet u deze resources zelf maken met de menu- en bitmapeditors.
Zie en IsOnLastRecord het artikel Een recordweergave gebruiken, die van toepassing is op zowel als op beide CRecordViewCDaoRecordViewvoor informatie over de standaard implementatie van record naar recordIsOnFirstRecord.
CDaoRecordView houdt de positie van de gebruiker in de recordset bij, zodat de recordweergave de gebruikersinterface kan bijwerken. Wanneer de gebruiker naar het einde van de recordset wordt verplaatst, worden in de recordweergave objecten van de gebruikersinterface, zoals menu-items of werkbalkknoppen, uitgeschakeld om verder in dezelfde richting te gaan.
Zie 'Een recordweergave ontwerpen en maken' in het artikel Recordweergaven voor meer informatie over het declareren en gebruiken van uw recordweergave en -recordsetklassen. Zie het artikel Een recordweergave gebruiken voor meer informatie over hoe recordweergaven werken en hoe u deze kunt gebruiken. Alle hierboven genoemde artikelen zijn van toepassing op zowel als CRecordViewCDaoRecordView.
Overnamehiërarchie
CDaoRecordView
Requirements
Rubriek:afxdao.h
CDaoRecordView::CDaoRecordView
Wanneer u een object maakt van een type dat is afgeleid CDaoRecordViewvan, roept u een van de vormen van de constructor aan om het weergaveobject te initialiseren en de dialoogvensterresource te identificeren waarop de weergave is gebaseerd.
explicit CDaoRecordView(LPCTSTR lpszTemplateName);
explicit CDaoRecordView(UINT nIDTemplate);
Parameterwaarden
lpszTemplateName
Bevat een door null beëindigde tekenreeks die de naam is van een dialoogvenstersjabloonresource.
nIDTemplate
Bevat het id-nummer van een dialoogvenstersjabloonresource.
Opmerkingen
U kunt de resource identificeren op naam (geef een tekenreeks door als het argument aan de constructor) of door de bijbehorende id (geef een niet-ondertekend geheel getal door als het argument). Het gebruik van een resource-id wordt aanbevolen.
Opmerking
Uw afgeleide klasse moet een eigen constructor leveren. Roep in de constructor van de afgeleide klasse de constructor CDaoRecordView::CDaoRecordView aan met de resourcenaam of -id als argument.
CDaoRecordView::OnInitialUpdate oproepen CWnd::UpdateData, die aanroepen CWnd::DoDataExchange. Deze eerste aanroep om besturingselementen (indirect) te DoDataExchange verbinden met CDaoRecordViewCDaoRecordset veldgegevensleden die zijn gemaakt door ClassWizard. Deze gegevensleden kunnen pas worden gebruikt nadat u de functie basisklasselid CFormView::OnInitialUpdate hebt aangeroepen.
Opmerking
Als u ClassWizard gebruikt, definieert de wizard een enum waarde CDaoRecordView::IDD in de klassedeclaratie en gebruikt deze in de initialisatielijst van leden voor de constructor.
CMyDaoRecordView::CMyDaoRecordView()
: CDaoRecordView(CMyDaoRecordView::IDD)
{
m_pSet = NULL;
// TODO: add construction code here
}
CDaoRecordView::IsOnFirstRecord
Roep deze lidfunctie aan om te bepalen of de huidige record de eerste record is in het recordsetobject dat aan deze recordweergave is gekoppeld.
BOOL IsOnFirstRecord();
Retourwaarde
Niet-nul als de huidige record de eerste record in de recordset is; anders 0.
Opmerkingen
Deze functie is handig voor het schrijven van uw eigen implementaties van de standaardopdracht-updatehandlers die zijn geschreven door ClassWizard.
Als de gebruiker naar de eerste record wordt verplaatst, worden in het framework alle objecten van de gebruikersinterface (bijvoorbeeld menu-items of werkbalkknoppen) uitgeschakeld die u naar de eerste of de vorige record wilt verplaatsen.
CDaoRecordView::IsOnLastRecord
Roep deze lidfunctie aan om te bepalen of de huidige record de laatste record is in het recordsetobject dat is gekoppeld aan deze recordweergave.
BOOL IsOnLastRecord();
Retourwaarde
Niet-nul als de huidige record de laatste record in de recordset is; anders 0.
Opmerkingen
Deze functie is handig voor het schrijven van uw eigen implementaties van de standaardopdracht-updatehandlers die ClassWizard schrijft om een gebruikersinterface te ondersteunen voor het verplaatsen van record naar record.
Waarschuwing
Het resultaat van deze functie is betrouwbaar, behalve dat de weergave het einde van de recordset mogelijk niet kan detecteren totdat de gebruiker deze heeft verplaatst. De gebruiker moet mogelijk verder gaan dan de laatste record voordat de recordweergave kan zien dat alle gebruikersinterfaceobjecten moeten worden uitgeschakeld om naar de volgende of laatste record te gaan. Als de gebruiker voorbij de laatste record gaat en vervolgens teruggaat naar de laatste record (of voordat de record wordt uitgevoerd), kan de recordweergave de positie van de gebruiker in de recordset bijhouden en gebruikersinterfaceobjecten correct uitschakelen.
CDaoRecordView::OnGetRecordset
Retourneert een aanwijzer naar het CDaoRecordset-afgeleide object dat is gekoppeld aan de recordweergave.
virtual CDaoRecordset* OnGetRecordset() = 0;
Retourwaarde
Een aanwijzer naar een CDaoRecordset-afgeleide object als het object is gemaakt; anders een NULL-aanwijzer.
Opmerkingen
U moet deze lidfunctie overschrijven om een recordsetobject te maken of te verkrijgen en er een aanwijzer naar te retourneren. Als u de recordweergaveklasse declareert met ClassWizard, schrijft de wizard een standaardoverschrijving voor u. De standaard implementatie van ClassWizard retourneert de recordsetaanwijzer die is opgeslagen in de recordweergave als deze bestaat. Als dat niet zo is, wordt er een recordsetobject samengesteld van het type dat u hebt opgegeven met ClassWizard en wordt de lidfunctie aangeroepen Open om de tabel te openen of de query uit te voeren en wordt vervolgens een aanwijzer naar het object geretourneerd.
Zie het artikel Recordweergaven: Een recordweergave gebruiken voor meer informatie en voorbeelden.
CDaoRecordView::OnMove
Roep deze lidfunctie aan om naar een andere record in de recordset te gaan en de velden ervan weer te geven in de besturingselementen van de recordweergave.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parameterwaarden
nIDMoveCommand
Een van de volgende standaardopdracht-id-waarden:
ID_RECORD_FIRST naar de eerste record in de recordset gaan.
ID_RECORD_LAST naar de laatste record in de recordset gaan.
ID_RECORD_NEXT naar de volgende record in de recordset gaan.
ID_RECORD_PREV naar de vorige record in de recordset gaan.
Retourwaarde
Niet-nul als de verplaatsing is geslaagd; anders 0 als de verplaatsingsaanvraag is geweigerd.
Opmerkingen
De standaard implementatie roept de juiste move-lidfunctie aan van het CDaoRecordset object dat is gekoppeld aan de recordweergave.
De huidige record op de gegevensbron wordt standaard OnMove bijgewerkt als de gebruiker deze heeft gewijzigd in de recordweergave.
De wizard Toepassing maakt een menuresource met menu-items First Record, Last Record, Next Record en Previous Record. Als u de optie Eerste werkbalk selecteert, maakt de wizard Toepassing ook een werkbalk met knoppen die overeenkomen met deze opdrachten.
Als u voorbij de laatste record in de recordset navigeert, blijft de recordweergave de laatste record weergeven. Als u achteruitgaat naar de eerste record, blijft de recordweergave de eerste record weergeven.
Waarschuwing
Aanroepen OnMove genereert een uitzondering als de recordset geen records heeft. Roep vóór de bijbehorende verplaatsingsbewerking de juiste handlerfunctie voor de gebruikersinterface aan om OnUpdateRecordFirstOnUpdateRecordLastOnUpdateRecordNextOnUpdateRecordPrev te bepalen of de recordset records bevat.
Zie ook
CFormView-klasse
Hiërarchiegrafiek
CDaoRecordset-klasse
CDaoTableDef-klasse
CDaoQueryDef-klasse
CDaoDatabase-klasse
CDaoWorkspace-klasse
CFormView-klasse