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.
Vertegenwoordigt de opgeslagen definitie van een basistabel of een gekoppelde tabel.
Opmerking
DAO wordt ondersteund via Office 2013. DAO 3.6 is de definitieve versie en wordt beschouwd als verouderd.
Syntaxis
class CDaoTableDef : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CDaoTableDef::CDaoTableDef | Maakt een CDaoTableDef object. |
Openbare methoden
| Naam | Description |
|---|---|
| CDaoTableDef::Append | Voegt een nieuwe tabel toe aan de database. |
| CDaoTableDef::CanUpdate | Retourneert niet-nul als de tabel kan worden bijgewerkt (u kunt de definitie van velden of de tabeleigenschappen wijzigen). |
| CDaoTableDef::Close | Sluit een open ingediendeef. |
| CDaoTableDef::Create | Hiermee maakt u een tabel die kan worden toegevoegd aan de database met behulp van Toevoegen. |
| CDaoTableDef::CreateField | Aangeroepen om een veld voor een tabel te maken. |
| CDaoTableDef::CreateIndex | Aangeroepen om een index voor een tabel te maken. |
| CDaoTableDef::D eleteField | Aangeroepen om een veld uit een tabel te verwijderen. |
| CDaoTableDef::D eleteIndex | Aangeroepen om een index uit een tabel te verwijderen. |
| CDaoTableDef::GetAttributes | Retourneert een waarde die een of meer kenmerken van een CDaoTableDef object aangeeft. |
| CDaoTableDef::GetConnect | Retourneert een waarde die informatie biedt over de bron van een tabel. |
| CDaoTableDef::GetDateCreated | Retourneert de datum en tijd waarop de basistabel onder een CDaoTableDef object is gemaakt. |
| CDaoTableDef::GetDateLastUpdated | Retourneert de datum en tijd van de meest recente wijziging in het ontwerp van de basistabel. |
| CDaoTableDef::GetFieldCount | Retourneert een waarde die het aantal velden in de tabel aangeeft. |
| CDaoTableDef::GetFieldInfo | Retourneert specifieke soorten informatie over de velden in de tabel. |
| CDaoTableDef::GetIndexCount | Retourneert het aantal indexen voor de tabel. |
| CDaoTableDef::GetIndexInfo | Retourneert specifieke soorten informatie over de indexen voor de tabel. |
| CDaoTableDef::GetName | Retourneert de door de gebruiker gedefinieerde naam van de tabel. |
| CDaoTableDef::GetRecordCount | Retourneert het aantal records in de tabel. |
| CDaoTableDef::GetSourceTableName | Retourneert een waarde die de naam van de gekoppelde tabel in de brondatabase aangeeft. |
| CDaoTableDef::GetValidationRule | Retourneert een waarde waarmee de gegevens in een veld worden gevalideerd wanneer deze worden gewijzigd of toegevoegd aan een tabel. |
| CDaoTableDef::GetValidationText | Retourneert een waarde die de tekst aangeeft van het bericht dat uw toepassing weergeeft als de waarde van een veldobject niet voldoet aan de opgegeven validatieregel. |
| CDaoTableDef::IsOpen | Retourneert niet-nul als de tabel is geopend. |
| CDaoTableDef::Open | Hiermee opent u een bestaande ingediendeef die is opgeslagen in de collectie van TableDef van de database. |
| CDaoTableDef::RefreshLink | Hiermee werkt u de verbindingsgegevens voor een gekoppelde tabel bij. |
| CDaoTableDef::SetAttributes | Hiermee stelt u een waarde in die een of meer kenmerken van een CDaoTableDef object aangeeft. |
| CDaoTableDef::SetConnect | Hiermee stelt u een waarde in die informatie biedt over de bron van een tabel. |
| CDaoTableDef::SetName | Hiermee stelt u de naam van de tabel in. |
| CDaoTableDef::SetSourceTableName | Hiermee stelt u een waarde in waarmee de naam van een gekoppelde tabel in de brondatabase wordt opgegeven. |
| CDaoTableDef::SetValidationRule | Hiermee stelt u een waarde in waarmee de gegevens in een veld worden gevalideerd wanneer deze worden gewijzigd of toegevoegd aan een tabel. |
| CDaoTableDef::SetValidationText | Hiermee stelt u een waarde in waarmee de tekst wordt opgegeven van het bericht dat uw toepassing weergeeft als de waarde van een veldobject niet voldoet aan de opgegeven validatieregel. |
Leden van openbare gegevens
| Naam | Description |
|---|---|
| CDaoTableDef::m_pDAOTableDef | Een aanwijzer naar de DAO-interface die ten grondslag ligt aan het ingediendeef-object. |
| CDaoTableDef::m_pDatabase | Brondatabase voor deze tabel. |
Opmerkingen
Elk DAO-databaseobject onderhoudt een verzameling, tabledefs genoemd, die alle opgeslagen DAO-ingediendeefobjecten bevat.
U bewerkt een tabeldefinitie met behulp van een CDaoTableDef object. U kunt bijvoorbeeld het volgende doen:
Bekijk het veld en de indexstructuur van een lokale, gekoppelde of externe tabel in een database.
Roep de
SetConnectfuncties enSetSourceTableNameleden aan voor gekoppelde tabellen en gebruik deRefreshLinklidfunctie om verbindingen met gekoppelde tabellen bij te werken.Roep de
CanUpdatelidfunctie aan om te bepalen of u velddefinities in de tabel kunt bewerken.Validatievoorwaarden ophalen of instellen met behulp van de
GetValidationRuleen- en en lidfunctiesGetValidationTextSetValidationText.SetValidationRuleGebruik de
Openlidfunctie om een tabel-, dynaset- of momentopnameobjectCDaoRecordsette maken.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 specifiek zijn voor de Microsoft Jet-database-engine.
Als u ingediendeefobjecten wilt gebruiken om met een bestaande tabel te werken of een nieuwe tabel te maken
In alle gevallen maakt u eerst een
CDaoTableDefobject, waarbij u een aanwijzer opgeeft aan een CDaoDatabase-object waartoe de tabel behoort.Voer vervolgens het volgende uit, afhankelijk van wat u wilt:
Als u een bestaande opgeslagen tabel wilt gebruiken, roept u de functie Open member van het object Open aan en geeft u de naam van de opgeslagen tabel op.
Als u een nieuwe tabel wilt maken, roept u de functie Lid maken van het object Create aan en geeft u de naam van de tabel op. Roep CreateField en CreateIndex aan om velden en indexen toe te voegen aan de tabel.
Roep Toevoegen aan om de tabel op te slaan door deze toe te voegen aan de verzameling TableDefs van de database.
Createzet de ingediendeef in een open staat, dus na het bellenCreateniet bellenOpen.Aanbeveling
De eenvoudigste manier om opgeslagen tabellen te maken, is door ze te maken en op te slaan in uw database met behulp van Microsoft Access. Vervolgens kunt u deze openen en gebruiken in uw MFC-code.
Als u het ingediendeef-object wilt gebruiken dat u hebt geopend of gemaakt, maakt en opent u een CDaoRecordset object en geeft u de naam van de ingediendeef op met een dbOpenTable waarde in de parameter nOpenType .
Als u een ingediendef-object wilt gebruiken om een CDaoRecordset object te maken, maakt of opent u een ingediendeef zoals hierboven beschreven. Vervolgens maakt u een recordetobject en geeft u een aanwijzer door aan het object van uw ingediendeef wanneer u CDaoRecordset::Open aanroept. De ingediendeef die je passeert, moet in een open staat zijn. Zie klasse CDaoRecordset voor meer informatie.
Wanneer u klaar bent met het gebruik van een ingediendef-object, roept u de functie Close-lid aan; vernietig vervolgens het ingediendeefobject.
Overnamehiërarchie
CDaoTableDef
Requirements
Rubriek:afxdao.h
CDaoTableDef::Append
Roep deze lidfunctie aan nadat u Create hebt aangeroepen om een nieuw ingediendefobject te maken om de ingediendeef in de database op te slaan.
virtual void Append();
Opmerkingen
Met de functie wordt het object toegevoegd aan de verzameling TableDefs van de database. U kunt de ingediendeef gebruiken als een tijdelijk object tijdens het definiëren door het niet toe te voegen, maar als u het wilt opslaan en gebruiken, moet u bellen Append.
Opmerking
Als u probeert een niet-benoemde ingediendeef toe te voegen (met een null- of lege tekenreeks), genereert MFC een uitzondering.
Zie het onderwerp 'Methode toevoegen' in DAO Help voor verwante informatie.
CDaoTableDef::CanUpdate
Roep deze lidfunctie aan om te bepalen of de definitie van de tabel onder een CDaoTableDef object kan worden gewijzigd.
BOOL CanUpdate();
Retourwaarde
Niet-nul als de tabelstructuur (schema) kan worden gewijzigd (velden en indexen toevoegen of verwijderen), anders 0.
Opmerkingen
Standaard kan een zojuist gemaakte tabel onder een CDaoTableDef object worden bijgewerkt en kan een gekoppelde tabel onder een CDaoTableDef object niet worden bijgewerkt. Een CDaoTableDef object kan worden bijgewerkt, zelfs als de resulterende recordset niet kan worden bijgewerkt.
Zie het onderwerp 'Updatable Property' in DAO Help voor verwante informatie.
CDaoTableDef::CDaoTableDef
Maakt een CDaoTableDef object.
CDaoTableDef(CDaoDatabase* pDatabase);
Parameterwaarden
pDatabase
Een aanwijzer naar een CDaoDatabase-object .
Opmerkingen
Nadat u het object hebt gemaakt, moet u de functie Lid maken of Openen aanroepen. Wanneer u klaar bent met het object, moet u de functie Close member aanroepen en het CDaoTableDef object vernietigen.
CDaoTableDef::Close
Roep deze lidfunctie aan om het ingediendeef-object te sluiten en vrij te geven.
virtual void Close();
Opmerkingen
Meestal na het aanroepen Close, verwijdert u het ingediendeef-object als het is toegewezen met new.
U kunt Openen opnieuw aanroepen nadat u hebt gebeld Close. Hiermee kunt u het object van de ingediendeef opnieuw gebruiken.
Zie het onderwerp 'Methode sluiten' in DAO Help voor verwante informatie.
CDaoTableDef::Create
Roep deze lidfunctie aan om een nieuwe opgeslagen tabel te maken.
virtual void Create(
LPCTSTR lpszName,
long lAttributes = 0,
LPCTSTR lpszSrcTable = NULL,
LPCTSTR lpszConnect = NULL);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeks met de naam van de tabel.
lAttributes
Een waarde die overeenkomt met de kenmerken van de tabel die wordt vertegenwoordigd door het object van de ingediendeef. U kunt bitwise-OR gebruiken om een van de volgende constanten te combineren:
| Constante | Description |
|---|---|
dbAttachExclusive |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de tabel een gekoppelde tabel is die is geopend voor exclusief gebruik. |
dbAttachSavePWD |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de gebruikers-id en het wachtwoord voor de gekoppelde tabel worden opgeslagen met de verbindingsgegevens. |
dbSystemObject |
Geeft aan dat de tabel een systeemtabel is die wordt geleverd door de Microsoft Jet-database-engine. |
dbHiddenObject |
Geeft aan dat de tabel een verborgen tabel is die wordt geleverd door de Microsoft Jet-database-engine. |
lpszSrcTable
Een aanwijzer naar een tekenreeks met de naam van de brontabel. Deze waarde wordt standaard geïnitialiseerd als NULL.
lpszConnect
Een aanwijzer naar een tekenreeks die de standaardverbindingsreeks bevat. Deze waarde wordt standaard geïnitialiseerd als NULL.
Opmerkingen
Zodra u de ingediendeef hebt genoemd, kunt u Toevoegen aanroepen om de ingediendeef op te slaan in de tabledefs-verzameling van de database. Na het aanroepen Appendbevindt de ingediendeef zich in een open staat en kunt u deze gebruiken om een CDaoRecordset-object te maken.
Zie het onderwerp CreateTableDef Method in DAO Help voor verwante informatie.
CDaoTableDef::CreateField
Roep deze lidfunctie aan om een veld toe te voegen aan de tabel.
void CreateField(
LPCTSTR lpszName,
short nType,
long lSize,
long lAttributes = 0);
void CreateField(CDaoFieldInfo& fieldinfo);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeksexpressie die de naam van dit veld opgeeft.
nType
Een waarde die het gegevenstype van het veld aangeeft. De instelling kan een van deze waarden zijn:
| Typologie | Grootte (bytes) | Description |
|---|---|---|
dbBoolean |
1 byte | BOOL |
dbByte |
BYTE | |
dbInteger |
2 | int |
dbLong |
4 | lang |
dbCurrency |
8 | Valuta ( COleCurrency) |
dbSingle |
4 | zweven |
dbDouble |
8 | dubbel |
dbDate |
8 | Datum/tijd ( COleDateTime) |
dbText |
1 - 255 | Tekst ( CString) |
dbLongBinary |
0 | Long Binary (OLE Object), CLongBinary of CByteArray |
dbMemo |
0 | Memo ( CString) |
lSize
Een waarde die de maximale grootte in bytes aangeeft van een veld dat tekst bevat of de vaste grootte van een veld dat tekst of numerieke waarden bevat. De parameter lSize wordt genegeerd voor alle tekstvelden, behalve voor tekstvelden.
lAttributes
Een waarde die overeenkomt met de kenmerken van het veld en die kan worden gecombineerd met behulp van een bitwise-OR.
| Constante | Description |
|---|---|
dbFixedField |
De veldlengte is vast (standaard voor numerieke velden). |
dbVariableField |
De veldlengte is variabel (alleen tekstvelden). |
dbAutoIncrField |
De veldwaarde voor nieuwe records wordt automatisch verhoogd naar een uniek lang geheel getal dat niet kan worden gewijzigd. Alleen ondersteund voor Microsoft Jet-databasetabellen. |
dbUpdatableField |
De veldwaarde kan worden gewijzigd. |
dbDescending |
Het veld wordt gesorteerd in aflopende volgorde (Z - A of 100 - 0) (alleen van toepassing op een veldobject in een verzameling Velden van een indexobject). Als u deze constante weglaat, wordt het veld gesorteerd in oplopende volgorde (A - Z of 0 - 100) (standaard). |
fieldinfo
Een verwijzing naar een CDaoFieldInfo-structuur .
Opmerkingen
Er wordt een DAOField (OLE)-object gemaakt en toegevoegd aan de verzameling Velden van het DAOTableDef (OLE)-object. Naast het gebruik ervan voor het onderzoeken van objecteigenschappen, kunt u ook een CDaoFieldInfo invoerparameter maken voor het maken van nieuwe velden in een ingediendeef. De eerste versie van CreateField is eenvoudiger te gebruiken, maar als u meer controle wilt, kunt u de tweede versie van CreateField, die een CDaoFieldInfo parameter gebruikt.
Als u de versie van CreateField die parameter gebruikt CDaoFieldInfo , moet u elk van de volgende leden van de CDaoFieldInfo structuur zorgvuldig instellen:
m_strNamem_nTypem_lSizem_lAttributesm_bAllowZeroLength
De resterende leden van CDaoFieldInfo moeten worden ingesteld op 0, ONWAAR of een lege tekenreeks, indien van toepassing voor het lid, of een CDaoException kan optreden.
Zie het onderwerp CreateField Method in DAO Help voor verwante informatie.
CDaoTableDef::CreateIndex
Roep deze functie aan om een index toe te voegen aan een tabel.
void CreateIndex(CDaoIndexInfo& indexinfo);
Parameterwaarden
indexinfo
Een verwijzing naar een CDaoIndexInfo-structuur .
Opmerkingen
Indexen geven de volgorde op van records die worden geopend vanuit databasetabellen en of dubbele records wel of niet worden geaccepteerd. Indexen bieden ook efficiënte toegang tot gegevens.
U hoeft geen indexen voor tabellen te maken, maar in grote, niet-geïndexeerde tabellen kan het openen van een specifieke record of het maken van een recordset lang duren. Het maken van te veel indexen vertraagt echter de update-, toevoeg- en verwijderbewerkingen, omdat alle indexen automatisch worden bijgewerkt. Houd rekening met deze factoren wanneer u bepaalt welke indexen u wilt maken.
De volgende leden van de CDaoIndexInfo structuur moeten worden ingesteld:
m_strNameEr moet een naam worden opgegeven.m_pFieldInfosMoet verwijzen naar een matrix metCDaoIndexFieldInfostructuren.m_nFieldsHet aantal velden in de matrix metCDaoFieldInfostructuren moet worden opgegeven.
De resterende leden worden genegeerd als deze zijn ingesteld op FALSE. Bovendien wordt het lid genegeerd tijdens het m_lDistinctCount maken van de index.
CDaoTableDef::D eleteField
Roep deze lidfunctie aan om een veld te verwijderen en niet toegankelijk te maken.
void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeksexpressie die de naam van een bestaand veld is.
nIndex
De index van het veld in de verzameling velden op basis van nul in de tabel, voor zoekactie op index.
Opmerkingen
U kunt deze lidfunctie gebruiken voor een nieuw object dat niet is toegevoegd aan de database of wanneer CanUpdate niet-nul retourneert.
Zie het onderwerp 'Methode verwijderen' in DAO Help voor verwante informatie.
CDaoTableDef::D eleteIndex
Roep deze lidfunctie aan om een index in een onderliggende tabel te verwijderen.
void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeksexpressie die de naam is van een bestaande index.
nIndex
De matrixindex van het indexobject in de op nul gebaseerde TableDefs-verzameling van de database voor zoekactie op index.
Opmerkingen
U kunt deze lidfunctie gebruiken voor een nieuw object dat niet is toegevoegd aan de database of wanneer CanUpdate niet-nul retourneert.
Zie het onderwerp 'Methode verwijderen' in DAO Help voor verwante informatie.
CDaoTableDef::GetAttributes
Voor een CDaoTableDef object geeft de retourwaarde kenmerken op van de tabel die door het CDaoTableDef object wordt vertegenwoordigd en kan dit een som van deze constanten zijn:
long GetAttributes();
Retourwaarde
Retourneert een waarde die een of meer kenmerken van een CDaoTableDef object aangeeft.
Opmerkingen
| Constante | Description |
|---|---|
dbAttachExclusive |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de tabel een gekoppelde tabel is die is geopend voor exclusief gebruik. |
dbAttachSavePWD |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de gebruikers-id en het wachtwoord voor de gekoppelde tabel worden opgeslagen met de verbindingsgegevens. |
dbSystemObject |
Geeft aan dat de tabel een systeemtabel is die wordt geleverd door de Microsoft Jet-database-engine. |
dbHiddenObject |
Geeft aan dat de tabel een verborgen tabel is die wordt geleverd door de Microsoft Jet-database-engine. |
dbAttachedTable |
Geeft aan dat de tabel een gekoppelde tabel is van een niet-ODBC-database, zoals een Paradox-database. |
dbAttachedODBC |
Geeft aan dat de tabel een gekoppelde tabel is van een ODBC-database, zoals Microsoft SQL Server. |
Een systeemtabel is een tabel die is gemaakt door de Microsoft Jet-database-engine die verschillende interne informatie bevat.
Een verborgen tabel is een tabel die is gemaakt voor tijdelijk gebruik door de Microsoft Jet-database-engine.
Zie het onderwerp Kenmerkeneigenschap in DAO Help voor verwante informatie.
CDaoTableDef::GetConnect
Roep deze lidfunctie aan om de verbindingsreeks voor een gegevensbron te verkrijgen.
CString GetConnect();
Retourwaarde
Een CString object met het pad en het databasetype voor de tabel.
Opmerkingen
Voor een CDaoTableDef object dat een gekoppelde tabel vertegenwoordigt, bestaat het CString object uit een of twee delen (een databasetypeaanduiding en een pad naar de database).
Het pad, zoals weergegeven in de onderstaande tabel, is het volledige pad voor de map met de databasebestanden en moet worden voorafgegaan door de id 'DATABASE='. In sommige gevallen (net als bij Microsoft Jet- en Microsoft Excel-databases) wordt een specifieke bestandsnaam opgenomen in het argument databasepad.
De tabel in CDaoTableDef::SetConnect toont mogelijke databasetypen en de bijbehorende databaseaanduidingen en -paden:
Voor basistabellen van Microsoft Jet-databases is de aanduiding een lege tekenreeks ("").
Als een wachtwoord is vereist, maar niet is opgegeven, geeft het ODBC-stuurprogramma een aanmeldingsdialoogvenster weer wanneer een tabel voor het eerst wordt geopend en opnieuw wordt geopend als de verbinding is gesloten en opnieuw wordt geopend. Als een gekoppelde tabel het dbAttachSavePWD kenmerk heeft, wordt de aanmeldingsprompt niet weergegeven wanneer de tabel opnieuw wordt geopend.
Zie het onderwerp 'Verbinding maken met eigenschap' in DAO Help voor verwante informatie.
CDaoTableDef::GetDateCreated
Roep deze functie aan om de datum en tijd te bepalen waarop de tabel onder het CDaoTableDef object is gemaakt.
COleDateTime GetDateCreated();
Retourwaarde
Een waarde met de datum en tijd van het maken van de tabel onder het CDaoTableDef object.
Opmerkingen
De datum- en tijdinstellingen worden afgeleid van de computer waarop de basistabel is gemaakt of voor het laatst is bijgewerkt. In een omgeving met meerdere gebruikers moeten gebruikers deze instellingen rechtstreeks van de bestandsserver ophalen om discrepanties te voorkomen; Dat wil gezegd, alle clients moeten een 'standaard' tijdbron gebruiken, misschien van één server.
Zie het onderwerp DateCreated, LastUpdated Properties in DAO Help voor verwante informatie.
CDaoTableDef::GetDateLastUpdated
Roep deze functie aan om de datum en tijd te bepalen waarop de tabel onder het object voor het CDaoTableDef laatst is bijgewerkt.
COleDateTime GetDateLastUpdated();
Retourwaarde
Een waarde die de datum en tijd bevat die de onderliggende tabel van het object bevat, is voor het CDaoTableDef laatst bijgewerkt.
Opmerkingen
De datum- en tijdinstellingen worden afgeleid van de computer waarop de basistabel is gemaakt of voor het laatst is bijgewerkt. In een omgeving met meerdere gebruikers moeten gebruikers deze instellingen rechtstreeks van de bestandsserver ophalen om discrepanties te voorkomen; Dat wil gezegd, alle clients moeten een 'standaard' tijdbron gebruiken, misschien van één server.
Zie het onderwerp DateCreated, LastUpdated Properties in DAO Help voor verwante informatie.
CDaoTableDef::GetFieldCount
Roep deze lidfunctie aan om het aantal velden op te halen dat in de tabel is gedefinieerd.
short GetFieldCount();
Retourwaarde
Het aantal velden in de tabel.
Opmerkingen
Als de waarde 0 is, zijn er geen objecten in de verzameling.
Zie het onderwerp 'Eigenschap aantal' in DAO Help voor verwante informatie.
CDaoTableDef::GetFieldInfo
Roep deze lidfunctie aan om verschillende soorten informatie te verkrijgen over een veld dat in de ingediendeef is gedefinieerd.
void GetFieldInfo(
int nIndex,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetFieldInfo(
LPCTSTR lpszName,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parameterwaarden
nIndex
De index van het veldobject in de verzameling velden op basis van nul in de tabel, voor zoekactie op index.
fieldinfo
Een verwijzing naar een CDaoFieldInfo-structuur .
dwInfoOptions
Opties die aangeven welke informatie over het veld moet worden opgehaald. De beschikbare opties worden hier vermeld, samen met wat ze ertoe leiden dat de functie wordt geretourneerd:
AFX_DAO_PRIMARY_INFO(Standaard) Naam, type, grootte, kenmerken. Gebruik deze optie voor de snelste prestaties.AFX_DAO_SECONDARY_INFOPrimaire informatie, plus: Rangschikken, Vereist, Nullengte toestaan, Volgorde sorteren, Refererende naam, Bronveld, BrontabelAFX_DAO_ALL_INFOPrimaire en secundaire informatie, plus: validatieregel, validatietekst, standaardwaarde
lpszName
Een aanwijzer naar de naam van het veldobject, voor zoekactie op naam. De naam is een tekenreeks met maximaal 64 tekens die het veld een unieke naam geven.
Opmerkingen
Met één versie van de functie kunt u een veld opzoeken op basis van index. Met de andere versie kunt u een veld opzoeken op naam.
Zie de structuur CDaoFieldInfo voor een beschrijving van de geretourneerde informatie. Deze structuur bevat leden die overeenkomen met de gegevens die hierboven worden vermeld in de beschrijving van dwInfoOptions. Wanneer u informatie op één niveau aanvraagt, krijgt u ook informatie voor eerdere niveaus.
Zie het onderwerp Kenmerkeneigenschap in DAO Help voor verwante informatie.
CDaoTableDef::GetIndexCount
Roep deze lidfunctie aan om het aantal indexen voor een tabel te verkrijgen.
short GetIndexCount();
Retourwaarde
Het aantal indexen voor de tabel.
Opmerkingen
Als de waarde 0 is, zijn er geen indexen in de verzameling.
Zie het onderwerp 'Eigenschap aantal' in DAO Help voor verwante informatie.
CDaoTableDef::GetIndexInfo
Roep deze lidfunctie aan om verschillende soorten informatie te verkrijgen over een index die in de ingediendeef is gedefinieerd.
void GetIndexInfo(
int nIndex,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetIndexInfo(
LPCTSTR lpszName,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parameterwaarden
nIndex
De numerieke index van het indexobject in de verzameling indexen op basis van nul in de tabel, voor zoekactie op basis van de positie in de verzameling.
indexinfo
Een verwijzing naar een CDaoIndexInfo-structuur .
dwInfoOptions
Opties die aangeven welke informatie over de index moet worden opgehaald. De beschikbare opties worden hier vermeld, samen met wat ze ertoe leiden dat de functie wordt geretourneerd:
AFX_DAO_PRIMARY_INFONaam, veldgegevens, velden. Gebruik deze optie voor de snelste prestaties.AFX_DAO_SECONDARY_INFOPrimaire informatie, plus: Primair, Uniek, Gegroepeerd, Null-waarden negeren, Vereist, ExternAFX_DAO_ALL_INFOPrimaire en secundaire informatie, plus: Uniek aantal
lpszName
Een aanwijzer naar de naam van het indexobject, voor zoekactie op naam.
Opmerkingen
Met één versie van de functie kunt u een index opzoeken op basis van de positie in de verzameling. Met de andere versie kunt u een index opzoeken op naam.
Zie de structuur CDaoIndexInfo voor een beschrijving van de geretourneerde informatie. Deze structuur bevat leden die overeenkomen met de gegevens die hierboven worden vermeld in de beschrijving van dwInfoOptions. Wanneer u informatie op één niveau aanvraagt, krijgt u ook informatie voor eerdere niveaus.
Zie het onderwerp Kenmerkeneigenschap in DAO Help voor verwante informatie.
CDaoTableDef::GetName
Roep deze lidfunctie aan om de door de gebruiker gedefinieerde naam van de onderliggende tabel op te halen.
CString GetName();
Retourwaarde
Een door de gebruiker gedefinieerde naam voor een tabel.
Opmerkingen
Deze naam begint met een letter en mag maximaal 64 tekens bevatten. Het kan getallen en onderstrepingstekens bevatten, maar kan geen interpunctie of spaties bevatten.
Zie het onderwerp 'Naameigenschap' in DAO Help voor verwante informatie.
CDaoTableDef::GetRecordCount
Roep deze lidfunctie aan om erachter te komen hoeveel records zich in een CDaoTableDef object bevinden.
long GetRecordCount();
Retourwaarde
Het aantal records dat wordt geopend in een ingediendef-object.
Opmerkingen
Het aanroepen GetRecordCount van een tabeltypeobject CDaoTableDef weerspiegelt het geschatte aantal records in de tabel en wordt onmiddellijk beïnvloed wanneer tabelrecords worden toegevoegd en verwijderd. Teruggedraaide transacties worden weergegeven als onderdeel van het aantal records totdat u CDaoWorkSpace::CompactDatabase aanroept. Een CDaoTableDef object zonder records heeft een eigenschapsinstelling voor het aantal records van 0. Wanneer u werkt met gekoppelde tabellen of ODBC-databases, GetRecordCount wordt altijd -1 geretourneerd.
Zie het onderwerp RecordCount Property in DAO Help voor verwante informatie.
CDaoTableDef::GetSourceTableName
Roep deze lidfunctie aan om de naam van een gekoppelde tabel in een brondatabase op te halen.
CString GetSourceTableName();
Retourwaarde
Een CString object dat de bronnaam van een gekoppelde tabel of een lege tekenreeks opgeeft als een systeemeigen gegevenstabel.
Opmerkingen
Een gekoppelde tabel is een tabel in een andere database die is gekoppeld aan een Microsoft Jet-database. Gegevens voor gekoppelde tabellen blijven aanwezig in de externe database, waar deze kunnen worden bewerkt door andere toepassingen.
Zie het onderwerp SourceTableName Property in DAO Help voor verwante informatie.
CDaoTableDef::GetValidationRule
Roep deze lidfunctie aan om de validatieregel voor een ingediendeef op te halen.
CString GetValidationRule();
Retourwaarde
Een CString object waarmee de gegevens in een veld worden gevalideerd wanneer deze worden gewijzigd of toegevoegd aan een tabel.
Opmerkingen
Validatieregels worden gebruikt in verband met updatebewerkingen. Als een ingediendeef een validatieregel bevat, moeten updates voor die ingediendeef overeenkomen met vooraf vastgestelde criteria voordat de gegevens worden gewijzigd. Als de wijziging niet overeenkomt met de criteria, wordt er een uitzondering met de waarde getValidationText gegenereerd. Voor een CDaoTableDef object is dit CString alleen-lezen voor een gekoppelde tabel en lezen/schrijven voor een basistabel.
Zie het onderwerp Validatieregeleigenschap in DAO Help voor verwante informatie.
CDaoTableDef::GetValidationText
Roep deze functie aan om de tekenreeks op te halen die moet worden weergegeven wanneer een gebruiker gegevens invoert die niet overeenkomt met de validatieregel.
CString GetValidationText();
Retourwaarde
Een CString object dat de tekst aangeeft die wordt weergegeven als de gebruiker gegevens invoert die niet overeenkomt met de validatieregel.
Opmerkingen
Voor een CDaoTableDef object is dit CString alleen-lezen voor een gekoppelde tabel en lezen/schrijven voor een basistabel.
Zie het onderwerp Validatieteksteigenschap in DAO Help voor verwante informatie.
CDaoTableDef::IsOpen
Roep deze lidfunctie aan om te bepalen of het CDaoTableDef object momenteel is geopend.
BOOL IsOpen() const;
Retourwaarde
Niet-nul als het CDaoTableDef object is geopend; anders 0.
Opmerkingen
CDaoTableDef::m_pDatabase
Bevat een aanwijzer naar het CDaoDatabase-object voor deze tabel.
Opmerkingen
CDaoTableDef::m_pDAOTableDef
Bevat een aanwijzer naar de OLE-interface voor het DAO-object dat onder het CDaoTableDef object is geplaatst.
Opmerkingen
Gebruik deze aanwijzer als u rechtstreeks toegang wilt krijgen tot de DAO-interface.
CDaoTableDef::Open
Roep deze lidfunctie aan om een eerder opgeslagen in de verzameling TableDef van de database te openen.
virtual void Open(LPCTSTR lpszName);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeks die een tabelnaam aangeeft.
Opmerkingen
CDaoTableDef::RefreshLink
Roep deze lidfunctie aan om de verbindingsgegevens voor een gekoppelde tabel bij te werken.
void RefreshLink();
Opmerkingen
U wijzigt de verbindingsgegevens voor een gekoppelde tabel door SetConnect aan te roepen voor het bijbehorende CDaoTableDef object en vervolgens de RefreshLink lidfunctie te gebruiken om de gegevens bij te werken. Wanneer u aanroept RefreshLink, worden de eigenschappen van de gekoppelde tabel niet gewijzigd.
Als u wilt afdwingen dat de gewijzigde verbindingsgegevens van kracht worden, moeten alle geopende CDaoRecordset-objecten op basis van deze ingediendeef worden gesloten.
Zie het onderwerp 'RefreshLink Method' in DAO Help voor verwante informatie.
CDaoTableDef::SetAttributes
Hiermee stelt u een waarde in die een of meer kenmerken van een CDaoTableDef object aangeeft.
void SetAttributes(long lAttributes);
Parameterwaarden
lAttributes
Kenmerken van de tabel die door het CDaoTableDef object worden vertegenwoordigd en kunnen een som van deze constanten zijn:
| Constante | Description |
|---|---|
dbAttachExclusive |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de tabel een gekoppelde tabel is die is geopend voor exclusief gebruik. |
dbAttachSavePWD |
Voor databases die gebruikmaken van de Microsoft Jet-database-engine, geeft u aan dat de gebruikers-id en het wachtwoord voor de gekoppelde tabel worden opgeslagen met de verbindingsgegevens. |
dbSystemObject |
Geeft aan dat de tabel een systeemtabel is die wordt geleverd door de Microsoft Jet-database-engine. |
dbHiddenObject |
Geeft aan dat de tabel een verborgen tabel is die wordt geleverd door de Microsoft Jet-database-engine. |
Opmerkingen
Wanneer u meerdere kenmerken instelt, kunt u deze combineren door de juiste constanten op te sommen met behulp van de operator bitwise-OR. Als dbAttachExclusive u een niet-gekoppelde tabel instelt, wordt er een uitzondering gegenereerd. Als u de volgende waarden combineert, wordt ook een uitzondering gegenereerd:
dbAttachExclusive | dbAttachedODBCdbAttachSavePWD | dbAttachedTable
Zie het onderwerp Kenmerkeneigenschap in DAO Help voor verwante informatie.
CDaoTableDef::SetConnect
Voor een CDaoTableDef object dat een gekoppelde tabel vertegenwoordigt, bestaat het tekenreeksobject uit een of twee delen (een databasetypeaanduiding en een pad naar de database).
void SetConnect(LPCTSTR lpszConnect);
Parameterwaarden
lpszConnect
Een aanwijzer naar een tekenreeksexpressie die aanvullende parameters aangeeft die moeten worden doorgegeven aan ODBC of installeerbare ISAM-stuurprogramma's.
Opmerkingen
Het pad, zoals weergegeven in de onderstaande tabel, is het volledige pad voor de map met de databasebestanden en moet worden voorafgegaan door de id 'DATABASE='. In sommige gevallen (net als bij Microsoft Jet- en Microsoft Excel-databases) wordt een specifieke bestandsnaam opgenomen in het argument databasepad.
Opmerking
Voeg geen witruimte toe rond de instructies voor het gelijkteken in het pad van het formulier "DATABASE=station:\\path". Dit leidt ertoe dat er een uitzondering wordt gegenereerd en dat de verbinding mislukt.
In de volgende tabel ziet u mogelijke databasetypen en de bijbehorende databaseaanduidingen en -paden:
| Database-type | Specificator | Path |
|---|---|---|
| Database met behulp van de Jet-database-engine | "[ database];" |
" drive:\\ pad\\ bestandsnaam. MDB" |
| dBASE III | "dBASE III;" | " drive:\\ pad" |
| dBASE IV | "dBASE IV;" | " drive:\\ pad" |
| dBASE 5 | "dBASE 5.0;" | " drive:\\ pad" |
| Paradox 3.x | "Paradox 3.x;" | " drive:\\ pad" |
| Paradox 4.x | "Paradox 4.x;" | " drive:\\ pad" |
| Paradox 5.x | "Paradox 5.x;" | " drive:\\ pad" |
| Excel 3.0 | "Excel 3.0;" | " drive:\\ pad\\ bestandsnaam.XLS" |
| Excel 4.0 | "Excel 4.0;" | " drive:\\ pad\\ bestandsnaam.XLS" |
| Excel 5.0 of Excel 95 | "Excel 5.0;" | " drive:\\ pad\\ bestandsnaam.XLS" |
| Excel 97 | "Excel 8.0;" | " drive:\\ pad\ bestandsnaam.XLS" |
| HTML-import | "HTML Importeren;" | " drive:\\ pad\ bestandsnaam" |
| HTML-export | "HTML-export;" | " drive:\\ pad" |
| Tekst | "Tekst;" | "station:\\path" |
| ODBC | "ODBC; DATABASE= database; UID = gebruiker; PWD = wachtwoord; DSN= datasourcename; LOGINTIMEOUT= seconden;" (Dit is mogelijk geen volledige verbindingsreeks voor alle servers; dit is slechts een voorbeeld. Het is erg belangrijk om geen spaties tussen de parameters te hebben.) |
Geen |
| Uitwisseling | "Exchange; MAPILEVEL= folderpath; [TABLETYPE={ 0 | 1 };] [PROFIEL= profiel;] [PWD = wachtwoord;] [DATABASE= database;]" |
"station:\\ pad\\ bestandsnaam. MDB" |
Opmerking
Btrieve wordt niet meer ondersteund vanaf DAO 3.5.
U moet een dubbele backslash (\\) gebruiken in de verbindingsreeksen. Als u de eigenschappen van een bestaande verbinding hebt gewijzigd met behulp SetConnectvan, moet u vervolgens RefreshLink aanroepen. Als u de verbindingseigenschappen initialiseert met behulp van SetConnect, hoeft u niet aan te roepen RefreshLink, maar moet u dit doen, eerst de ingediendeef toevoegen.
Als een wachtwoord is vereist, maar niet is opgegeven, geeft het ODBC-stuurprogramma een aanmeldingsdialoogvenster weer wanneer een tabel voor het eerst wordt geopend en opnieuw wordt geopend als de verbinding is gesloten en opnieuw wordt geopend.
U kunt de verbindingsreeks voor een CDaoTableDef object instellen door een bronargument op te geven aan de Create lidfunctie. U kunt de instelling controleren om het type, pad, gebruikers-id, wachtwoord of ODBC-gegevensbron van de database te bepalen. Zie de documentatie voor het specifieke stuurprogramma voor meer informatie.
Zie het onderwerp 'Verbinding maken met eigenschap' in DAO Help voor verwante informatie.
CDaoTableDef::SetName
Roep deze lidfunctie aan om een door de gebruiker gedefinieerde naam voor een tabel in te stellen.
void SetName(LPCTSTR lpszName);
Parameterwaarden
lpszName
Een aanwijzer naar een tekenreeksexpressie waarmee een naam voor een tabel wordt opgegeven.
Opmerkingen
De naam moet beginnen met een letter en mag maximaal 64 tekens bevatten. Het kan getallen en onderstrepingstekens bevatten, maar kan geen interpunctie of spaties bevatten.
Zie het onderwerp 'Naameigenschap' in DAO Help voor verwante informatie.
CDaoTableDef::SetSourceTableName
Roep deze lidfunctie aan om de naam op te geven van een gekoppelde tabel of de naam van de basistabel waarop het CDaoTableDef object is gebaseerd, zoals deze zich in de oorspronkelijke bron van de gegevens bevindt.
void SetSourceTableName(LPCTSTR lpszSrcTableName);
Parameterwaarden
lpszSrcTableName
Een aanwijzer naar een tekenreeksexpressie waarmee een tabelnaam in de externe database wordt opgegeven. Voor een basistabel is de instelling een lege tekenreeks ("").
Opmerkingen
Vervolgens moet u RefreshLink aanroepen. Deze eigenschapsinstelling is leeg voor een basistabel en lezen/schrijven voor een gekoppelde tabel of een object dat niet aan een verzameling is toegevoegd.
Zie het onderwerp SourceTableName Property in DAO Help voor verwante informatie.
CDaoTableDef::SetValidationRule
Roep deze lidfunctie aan om een validatieregel in te stellen voor een ingediendeef.
void SetValidationRule(LPCTSTR lpszValidationRule);
Parameterwaarden
lpszValidationRule
Een aanwijzer naar een tekenreeksexpressie waarmee een bewerking wordt gevalideerd.
Opmerkingen
Validatieregels worden gebruikt in verband met updatebewerkingen. Als een ingediendeef een validatieregel bevat, moeten updates voor die ingediendeef overeenkomen met vooraf vastgestelde criteria voordat de gegevens worden gewijzigd. Als de wijziging niet overeenkomt met de criteria, wordt een uitzondering met de tekst van GetValidationText weergegeven.
Validatie wordt alleen ondersteund voor databases die gebruikmaken van de Microsoft Jet-database-engine. De expressie kan niet verwijzen naar door de gebruiker gedefinieerde functies, statistische domeinfuncties, STATISTISCHE SQL-functies of query's. Een validatieregel voor een CDaoTableDef object kan verwijzen naar meerdere velden in dat object.
Voor velden met de naam hire_date en termination_date kan een validatieregel bijvoorbeeld het volgende zijn:
myTableDef.SetValidationRule(_T("termination_date > hire_date"));
Zie het onderwerp Validatieregeleigenschap in DAO Help voor verwante informatie.
CDaoTableDef::SetValidationText
Roep deze lidfunctie aan om de uitzonderingstekst van een validatieregel voor een CDaoTableDef object in te stellen met een onderliggende basistabel die wordt ondersteund door de Microsoft Jet-database-engine.
void SetValidationText(LPCTSTR lpszValidationText);
Parameterwaarden
lpszValidationText
Een aanwijzer naar een tekenreeksexpressie die de tekst aangeeft die wordt weergegeven als de ingevoerde gegevens ongeldig zijn.
Opmerkingen
U kunt de validatietekst van een bijgevoegde tabel niet instellen.
Zie het onderwerp Validatieteksteigenschap in DAO Help voor verwante informatie.
Zie ook
CObject-klasse
Hiërarchiegrafiek
CDaoDatabase-klasse
CDaoRecordset-klasse