Share via


CDaoTableDef-klasse

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 SetConnect functies en SetSourceTableName leden aan voor gekoppelde tabellen en gebruik de RefreshLink lidfunctie om verbindingen met gekoppelde tabellen bij te werken.

  • Roep de CanUpdate lidfunctie aan om te bepalen of u velddefinities in de tabel kunt bewerken.

  • Validatievoorwaarden ophalen of instellen met behulp van de GetValidationRule en- en en lidfuncties GetValidationTextSetValidationText.SetValidationRule

  • Gebruik de Open lidfunctie om een tabel-, dynaset- of momentopnameobject CDaoRecordset te 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

  1. In alle gevallen maakt u eerst een CDaoTableDef object, waarbij u een aanwijzer opgeeft aan een CDaoDatabase-object waartoe de tabel behoort.

  2. 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. Create zet de ingediendeef in een open staat, dus na het bellen Create niet bellen Open.

      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

CObject

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_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_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_strName Er moet een naam worden opgegeven.

  • m_pFieldInfos Moet verwijzen naar een matrix met CDaoIndexFieldInfo structuren.

  • m_nFields Het aantal velden in de matrix met CDaoFieldInfo structuren 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_INFO Primaire informatie, plus: Rangschikken, Vereist, Nullengte toestaan, Volgorde sorteren, Refererende naam, Bronveld, Brontabel

  • AFX_DAO_ALL_INFO Primaire 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_INFO Naam, veldgegevens, velden. Gebruik deze optie voor de snelste prestaties.

  • AFX_DAO_SECONDARY_INFO Primaire informatie, plus: Primair, Uniek, Gegroepeerd, Null-waarden negeren, Vereist, Extern

  • AFX_DAO_ALL_INFO Primaire 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

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 | dbAttachedODBC

  • dbAttachSavePWD | 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