Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Selecteer hieronder een onderwerp voor meer informatie over werknemers in de Northwind Developer Edition. 

Werknemers hebben één gesplitst formulier dat werkt als een lijst- en detailformulier. 

Gebruik Werknemers om nieuwe werknemers toe te voegen en informatie over bestaande werknemers bij te werken. 

Selecteer het tabblad Werknemers op het lint om werknemers weer te geven in het formulier Werknemerslijst, frmEmployeeList, is een gesplitst formulier met de volgende functies: 

  • Het bovenste deel van het formulier is één weergave van één werknemer.

  • Het onderste deel van het formulier is een gegevensbladweergave van alle werknemers.

  • Als u een werknemer in een van beide delen selecteert, wordt de focus ook ingesteld op die werknemer in het andere deel van het gesplitste formulier.

  • U kunt werknemers toevoegen, bewerken of verwijderen in beide delen van het gesplitste formulier.

  • Als u een gesplitst formulier gebruikt met het gegevensbladweergaveonderdeel, wordt ervan uitgegaan dat de recordbron van het formulier meerdere records heeft.

Mogelijke impact op de prestaties van een gesplitst formulier 

De meeste ontwikkelaars geven er de voorkeur aan om een niet-gefilterde tabel of query niet te laden als recordbron voor een formulier. Als u een formulier op één record filtert, wordt de hoeveelheid gegevens die van de tabel naar het formulier moet worden overgebracht, geminimaliseerd. Met een lokale Access-tabel is het verschil tussen het laden van een gefilterde recordbron en een kleine niet-gefilterde recordbron mogelijk nauwelijks merkbaar. Deze prestaties gaan echter verloren wanneer de Access-tabellen worden vervangen door een externe, servergebaseerde database zoals SQL Server. 

De werknemerstabel in Northwind mag niet erg groot worden, dus het is een kandidaat voor een niet-gefilterde recordbron. Formulieren die zijn gebonden aan andere tabellen, zoals ordergegevens, die mogelijk tot vele duizenden records zullen toenemen, zijn echter geen kandidaten voor een niet-gefilterde recordbron.
 

WERKNEMERS BEWERKEN

Bij het toevoegen of bewerken van records in een gesplitst formulier kunnen gebruikers waarden invoeren in de formulierweergave of gegevensbladweergave. Sommige velden zijn vereist, andere zijn optioneel. Het formulier valideert de aanwezigheid van waarden in vereiste velden. Zie Vereiste veldvalidatie hieronder.

Opzoektabellen, waardenlijsten en vervolgkeuzelijsten

  • In de vervolgkeuzelijst Titels worden vermeldingen beperkt tot een lijst met vooraf geselecteerde titels. Titels bevinden zich in een opzoektabel met de naam Titels.

  • Sommige verwachte opties zijn al opgeslagen in de opzoektabel, maar gebruikers kunnen nieuwe titels toevoegen aan de opzoektabel, met behulp van standaard access-gedrag voor de keuzelijst met invoervak of vervolgkeuzelijsten.

    • De eigenschap Beperken tot lijst van de keuzelijst met invoervak Titel is ingesteld op Ja en het bewerkingsformulier voor Titels wordt geïdentificeerd in de eigenschap Formulier voor lijstitems bewerken. Als u de vervolgkeuzelijst op het formulier selecteert, wordt het bewerkingspictogram aan de onderkant weergegeven. 
      ...

Als u op het bewerkingspictogram klikt , wordt het bewerkingsformulier Titels, frmEmployeeTitles, geopend, waarin u de lijst met goedgekeurde titels kunt wijzigen of toevoegen. 

OPMERKING:In de meeste productieomgevingen is het bewerken of toevoegen van titels beperkt tot gebruikers met verbeterde bevoegdheden.
 

Self-Referential opzoekvelden

De functie werknemer illustreert het concept van een Self-Referential-id-veld. Ter ondersteuning van de aanwijzing van de supervisor van een werknemer heeft de tabel een veld SupervisorID met EmployeeID'svoor andere werknemers. Als u een supervisor wilt aanwijzen, wordt in dit veld de EmployeeID voor een andere werknemer ingevoerd. Access dwingt referentiële integriteit af voor deze relatie.

De SupervisorID wordt in het werknemersformulier geïmplementeerd als vervolgkeuzelijst of keuzelijst met invoervak; de rijbron is een gefilterde set records uit de tabel Werknemer. Omdat deze zelf-referentiaal is, moet de query de eigen EmployeeID van de geselecteerde werknemer uitsluiten. De rijbron voor SupervisorID voor werknemer Karen Finster bevat bijvoorbeeld niet de eigen EmployeeID van Karen. Ze kan niet haar eigen supervisor zijn.

Bijlagevelden en besturingselementen

Werknemersafbeeldingen worden opgeslagen in een bijlageveld in de tabel. U voegt nieuwe afbeeldingen toe of wijzigt bestaande afbeeldingen met behulp van het standaardgedrag van Access voor bijlagevelden. 
...

OPMERKING: We hebben een bijlageveld opgenomen in de tabel Werknemer om de functie in Access te illustreren. Ingesloten afbeeldingen vergroten de grootte van accdbs en worden daarom niet als best practice beschouwd. Evalueer uw omgeving zorgvuldig voordat u deze implementeert in een productietoepassing. Het voorkeurs alternatief is een netwerkmap met alle afbeeldingen en een koppeling in een tekstveld in de tabel met het pad naar de afbeelding in plaats van het veld Bijlage.

Subformulier met gerelateerde informatie

In het subformulier Orders (aan de rechterkant van het formulier Werknemer) worden recente orders (indien van toepassing) weergegeven die door de werknemer zijn verwerkt. Het subformulier bevat orders in de gegevensbladweergave, gesorteerd van nieuw naar oud. Als u een bestaande order voor die werknemer wilt bewerken, klikt u op de hyperlink Order-id # in het subformulier Orders.

Recordbron van werknemersformulier

Een query met de naam qryEmployees retourneert de records in het formulier. Het gebruik van een query in plaats van de tabel wordt meestal beschouwd als een aanbevolen procedure. De query retourneert slechts records uit één tabel. Bovendien kan een query worden geparameteriseerd om het aantal geretourneerde records te beperken. 

  • De component Select van deze query gebruikt het jokerteken '*' om alle velden uit de tabel Werknemer te retourneren.

  • Twee berekende velden in de query retourneren FirstName LastName en LastName, FirstName.
     

Berekende waarden in besturingselementen

OPMERKING: De berekende velden worden niet opgeslagen in de tabel. Ze zijn echter beschikbaar in de recordbron van het formulier.

De meeste besturingselementen in het formulier Werknemer zijn ingeschakeld , zodat u ze kunt selecteren met de muis of tab erin en zijn Niet vergrendeld , zodat ze kunnen worden bewerkt. 

Naast het ingebouwde toegangsgedrag voeren VBA-subs en functies in formulieren, in besturingselementen op formulieren en in zelfstandige modules de basislogica uit die vereist is voor werknemers. In de volgende sectie worden functies en de code beschreven waarmee deze functies worden geïmplementeerd. 

Ingebouwde besturingsactie

Het standaardgedrag van de recordkiezer van het formulier: 

  • Als u links klikt op de recordkiezer links van een formulier in één weergave, wordt de huidige record met eventuele bewerkingen opgeslagen. Als u opslaat door met de linkermuisknop op de recordkiezer te klikken, worden de juiste VBA-subs en -functies geactiveerd.

  • Als u met de rechtermuisknop klikt op de recordkiezer links van een formulier in één weergave, wordt een menu weergegeven om acties uit te voeren, zoals Een record knippen, kopiëren of plakken. Als u een record verwijdert of snijdt, wordt de functie EmployeeCanBeDeleted geactiveerd die hieronder wordt beschreven.

  • Recordkiezers moeten zijn ingeschakeld voor een formulier om dit standaardgedrag te kunnen gebruiken.
     

Referentiële integriteit voor records in het formulier

Referentiële integriteit voorkomt dat werknemers met onderliggende records in gerelateerde tabellen worden verwijderd. Daarom treedt er een fout op als een gebruiker probeert een record met onderliggende records te verwijderen. Het Northwind-werknemersformulier toegang vervangt algemene, standaard foutberichten met betrekking tot referentiële integriteit door aangepaste berichten.

Code in de procedure Verwijderen van het formulier reageert op pogingen om een record te knippen vanuit het snelmenu of om een record te verwijderen met behulp van de delete-toets

Een privéfunctie, EmployeeCanBeDeleted, controleert op gerelateerde records voor die werknemer in de tabellen Orders, Inkooporders, Werknemers en Werknemersbevoegdheden

Als ze worden gevonden, onderdrukt deze functie het standaardfoutbericht en informeert de gebruiker over de reden waarom de record niet kan worden verwijderd met behulp van hetzelfde algemene dialoogvenster dat het klantformulier gebruikt om de gebruiker op de hoogte te stellen van de reden waarom de klant niet kan worden verwijderd.

Validatie

Werknemers implementeren validatie en standaard foutafhandeling. Er zijn twee typen validatie voor besturingselementen.

  • Vereiste velden

  • Standaardindelingen

Vereiste veldvalidatie

 Er zijn drie velden vereist voor alle werknemers:

  • Voornaam

  • Achternaam

  • Functie

In deze versie voor ontwikkelaars worden de vereiste velden gevalideerd door de gebeurtenis Before Update van het formulier. Als een gebruiker een werknemersrecord zonder waarden probeert op te slaan voor een of meer vereiste velden die geen waardevalidatie hebben, wordt de opslag geannuleerd en worden alle vereiste velden gemarkeerd die geen waarde hebben. In het formulier Werknemer in Northwind wordt de vereiste veldvalidatie verwerkt door de gebeurtenis Voor bijwerken van het formulier, niet door de afzonderlijke besturingselementen.

De gebeurtenis Before Update van het formulier Werknemer valideert de aanwezigheid van waarden voor de drie vereiste velden. Als u een nieuwe of bewerkte werknemersrecord opslaat, wordt de gebeurtenis Before Update van het formulier geactiveerd, waarmee openbare functies worden aangeroepen die de aanwezigheid of afwezigheid van de vereiste waarden controleren en erop reageren.

De module modValidation bevat deze functies:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Nieuwe werknemers beheren

Als u op de knop Werknemer toevoegen klikt, wordt de private sub-btnNewEmployee_Click uitgevoerd om het volgende te doen: 

  • de huidige record opslaan en

  • de focus van het formulier instellen op een nieuwe record
    '

Jokerteken versus benoemde velden in een selectiequery

De SELECT-component in qryEmployees gebruikt het jokerteken '*' om ALLE velden in de tabel te selecteren. Het ontwerp van de jokertekenquery bevat automatisch alle nieuw toegevoegde velden uit een onderliggende tabel. Dit is niet mogelijk met een lijst met specifieke velden. Aan de andere kant kan men specifieke velden weergeven om de geretourneerde recordset te beperken tot alleen de velden die nodig zijn in een formulier dat alleen wordt weergegeven.

Geschikte ontwerpkeuzen

Uw ontwerpen moeten zijn gebaseerd op de juiste aanpak voor uw behoeften. Hoewel, indien mogelijk, de voorkeur normaal gesproken zou gaan naar de benadering die het minst waarschijnlijk toekomstig onderhoud vereist (d.w.z. de jokertekenbenadering). 

Keuzelijsten met invoervak gebonden aan opzoektabellen — twee benaderingen

Gerelateerde items, zoals de Supervisor van een werknemer, worden weergegeven in vervolgkeuzelijsten of keuzelijsten met invoervak op formulieren. Alleen de refererende sleutel voor SupervisorID is nodig in de recordbronquery van het formulier, omdat dat veld is gebonden aan het veld Foreign Key (SupervisorID). In de keuzelijst met invoervak wordt ook de bijbehorende tekstwaarde weergegeven.

Een keuzelijst met invoervak met twee kolommen met een verborgen id-kolom en een zichtbare kolom Beschrijving maakt dit mogelijk. In het werknemersformulier is de keuzelijst met invoervak Supervisor gebonden aan een eenvoudige query met twee kolommen. Zie de eigenschap RowSource voor Supervisor.

In sommige gevallen heeft een opzoektabel echter geen afzonderlijke primaire sleutel en daarom is de tekstwaarde zelf de primaire sleutel.

Wanneer een lijst met mogelijke waarden klein en zeer stabiel is, zoals de titel van een werknemer, wordt deze vaak een gesloten domein genoemd. Het wijzigen of toevoegen van waarden voor Titel is niet gebruikelijk. Gesloten opzoektabellen voor domein zijn kandidaten voor de querybenadering met één kolom.

In het formulier Werknemer is de keuzelijst met invoervak Titel gebonden aan een query met één kolom van Titels. Zie de eigenschap RowSource voor Titels. 

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×