Applies ToAccess til Microsoft 365 Access 2021 Access 2019

Vælg et emne nedenfor for at få mere at vide om Medarbejdere i Northwind Developer Edition. 

Medarbejdere har én delt formular, der fungerer som en liste- og detaljeformular. 

Brug Medarbejdere til at tilføje nye medarbejdere og opdatere oplysninger om eksisterende medarbejdere. 

Vælg fanen Medarbejdere på båndet for at få vist medarbejdere i formularen Medarbejderliste, frmEmployeeList, som er en delt formular med følgende funktioner: 

  • Den øverste del af formularen er en enkelt visning af én medarbejder.

  • Den nederste del af formularen er en dataarkvisning af alle medarbejdere.

  • Når du vælger en medarbejder i en af delene, sættes der også fokus på den pågældende medarbejder i den anden del af den delte formular.

  • Du kan tilføje, redigere eller slette Medarbejdere i en af delene af den delte formular.

  • Hvis du bruger en delt formular med dataarkvisningsdelen, antages det, at formularens postkilde har flere poster.

Potentiel påvirkning af ydeevnen i en delt formular 

De fleste udviklere foretrækker ikke at indlæse en ufiltreret tabel eller forespørgsel som en postkilde for en formular. Filtrering af en formular til en enkelt post minimerer den mængde data, der skal overføres fra tabellen til formularen. Med en lokal Access-tabel kan forskellen mellem indlæsning af en filtreret postkilde og en lille ufiltreret postkilde næppe være mærkbar. Denne ydeevne går dog tabt, når Access-tabellerne erstattes med en fjernserverbaseret database, f.eks. SQL Server. 

Medarbejdertabellen i Northwind bør ikke blive meget stor, så den er en kandidat til en ufiltreret postkilde. Men formularer, der er bundet til andre tabeller, f.eks. ordredetaljer – som potentielt vokser til mange tusinde poster – er ikke kandidater til en ufiltreret postkilde.  

REDIGERE MEDARBEJDERE

Når du tilføjer eller redigerer poster i en delt formular, kan brugerne angive værdier i enten formularvisning eller dataarkvisning. Nogle felter er påkrævede, andre er valgfrie. Formularen validerer tilstedeværelsen af værdier i obligatoriske felter. Se Obligatorisk feltvalidering nedenfor.

Opslagstabeller, værdilister og rullelister

  • Rullemenuen Titler begrænser poster til en liste over forhåndsvalgte titler. Titler findes i en opslagstabel med navnet Titler.

  • Nogle af de forventede valg er allerede gemt i opslagstabellen, men brugerne kan føje nye titler til opslagstabellen ved hjælp af access-standardfunktionsmåden for kombinationsfeltet eller rullelistekontrolelementerne.

    • Egenskaben Begræns til liste for kombinationsfeltet Titel er angivet til Ja, og redigeringsformularen for Titler identificeres i egenskaben Rediger formular for listeelementer. Hvis du vælger rullemenuen i formularen, vises redigeringsikonet i den nederste kant.  ...

Når du klikker på redigeringsikonet, åbnes redigeringsformularen Titler , frmEmployeeTitles, hvor du kan ændre eller føje til listen over godkendte titler. 

BEMÆRK:I de fleste produktionsmiljøer vil redigering eller tilføjelse af titler være begrænset til brugere med udvidede rettigheder.  

Self-Referential opslagsfelter

Medarbejderfunktionen illustrerer konceptet med et Self-Referential id-felt. For at understøtte udpegelsen af en medarbejders tilsynsførende har tabellen et SupervisorID-felt med Medarbejder-id'erfor andre medarbejdere. Hvis du vil udpege en tilsynsførende, angives Medarbejder-id for en anden medarbejder i dette felt. Access gennemtvinger referentiel integritet for denne relation.

Supervisor-id'et implementeres i medarbejderformularen som en rulleliste eller et kombinationsfelt. dens rækkekilde er et filtreret sæt poster fra tabellen Medarbejder. Da det er selv referentielt, skal forespørgslen udelade den valgte medarbejders eget Medarbejder-id. Eksempelvis omfatter rækkekilden for SupervisorID for medarbejder Karen Finster ikke Karens eget Medarbejder-id. Hun kan ikke være sin egen tilsynsførende.

Felter og kontrolelementer til vedhæftede filer

Medarbejderbilleder gemmes i et felt med vedhæftede filer i tabellen. Du tilføjer nye billeder eller ændrer eksisterende billeder ved hjælp af standardfunktionsmåden i Access for vedhæftede felter.  ...

BEMÆRK: Vi har inkluderet et felt til vedhæftede filer i tabellen Medarbejder for at illustrere funktionen i Access. Integrerede billeder øger størrelsen af accdbs og betragtes derfor ikke som bedste praksis. Vurder omhyggeligt dit miljø, før du implementerer det i et produktionsprogram. Det foretrukne alternativ er en netværksmappe, der lagrer alle billeder, og et link i et tekstfelt i tabellen, der indeholder stien til billedet, i stedet for feltet Vedhæftet fil.

Underformular med relaterede oplysninger

Underformularen Ordrer (i højre side af medarbejderformularen) viser de seneste ordrer (hvis relevant), der håndteres af medarbejderen. Underformularen viser ordrer i dataarkvisning, sorteret fra nyeste til ældste. Hvis du vil redigere en eksisterende ordre for den pågældende medarbejder, skal du klikke på linket Ordre-id # i underformularen Ordrer.

Medarbejderformulars postkilde

En forespørgsel med navnet qryEmployees returnerer posterne i formularen. Brug af en forespørgsel i stedet for tabellen betragtes normalt som en bedste fremgangsmåde. Forespørgslen returnerer kun poster fra én tabel. Desuden kan en forespørgsel parameteriseres for at begrænse antallet af returnerede poster. 

  • Select-delsætningen i denne forespørgsel bruger jokertegnet '*' til at returnere alle felter fra tabellen Medarbejder.

  • To beregnede felter i forespørgslen returnerer Fornavn Efternavn og Efternavn, Fornavn.  

Beregnede værdier i kontrolelementer

BEMÆRK: De beregnede felter gemmes ikke i tabellen. De er dog tilgængelige i formularens postkilde.

De fleste kontrolelementer i formularen Medarbejder er aktiveret , så du kan markere dem med musen eller fanen ind i dem og er ikke låst, så de kan redigeres. 

Ud over den indbyggede funktionsmåde i Access udfører VBA-underordnede og -funktioner i formularer, i kontrolelementer i formularer og i enkeltstående moduler den grundlæggende logik, der kræves for medarbejdere. I følgende afsnit beskrives funktioner og den kode, der implementerer disse funktioner. 

Indbygget kontrolelementhandling

Standardfunktionsmåden for postvælgeren i formularen: 

  • Hvis du højreklikker på postvælgeren til venstre for en formular i en enkelt visning, gemmes den aktuelle post med eventuelle ændringer. Når du gemmer ved at venstreklikke på postvælgeren, udløses de relevante VBA-underfunktioner.

  • Højreklik på postvælgeren til venstre for en formular i enkeltvisning åbner en menu for at udføre handlinger som f.eks. Klip, Kopiér eller Indsæt en post. Hvis du sletter eller klipper en post, udløses funktionen EmployeeCanBeDeleted , der er beskrevet nedenfor.

  • Postvælgere skal være aktiveret, for at denne standardfunktionsmåde er tilgængelig i en formular.  

Referentiel integritet for poster i formularen

Referentiel integritet forhindrer sletning af medarbejdere, der har underordnede poster i relaterede tabeller. Derfor opstår der en fejl i Access, hvis en bruger forsøger at slette en post med underordnede poster. Northwind-medarbejderformularen i Access erstatter standardfejlmeddelelser om referentiel integritet med brugerdefinerede meddelelser.

Kode i formularens Delete-procedure reagerer på forsøg på enten at klippe en post fra genvejsmenuen eller at slette en post ved hjælp af tasten Delete

Funktionen Private, EmployeeCanBeDeleted, søger efter relaterede poster for den pågældende medarbejder i tabellerne Ordrer, Indkøbsordrer, Medarbejdere og Medarbejderrettigheder

Hvis de findes, undertrykker denne funktion standardfejlmeddelelsen og informerer brugeren om årsagen til, at posten ikke kan slettes ved hjælp af den samme generiske dialogboks, som kundeformularen bruger til at give brugeren besked om årsagen til, at kunden ikke kan slettes.

Validering

Medarbejdere implementerer validering og standardfejlhåndtering. Der findes to typer validering for kontrolelementer.

  • Obligatoriske felter

  • Standardformater

Obligatorisk feltvalidering

 Der kræves tre felter for alle medarbejdere:

  • Fornavn

  • Efternavn

  • Stilling

I denne udviklerversion validerer formularens Før opdatering-hændelse de obligatoriske felter. Hvis en bruger forsøger at gemme en medarbejderpost uden værdier for et eller flere obligatoriske felter, der ikke har en værdivalidering, annulleres lagringen, og alle obligatoriske felter, der ikke har en værdi, fremhæves. I medarbejderformularen i Northwind håndteres obligatorisk feltvalidering af hændelsen Før opdatering i formen , ikke af de enkelte kontrolelementer.

Hændelsen Før opdatering i medarbejderformularen validerer tilstedeværelsen af værdier for de tre påkrævede felter. Når du gemmer en ny eller redigeret medarbejderpost, udløses formularens Før opdatering-hændelse , som kalder Offentlige funktioner, der søger efter og reagerer på tilstedeværelsen eller fraværet af de nødvendige værdier.

Modulet modValidation indeholder følgende funktioner:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Administration af nye medarbejdere

Når du klikker på knappen Tilføj medarbejder, køres btnNewEmployee_Click Privat underordnet for at: 

  • gemme den aktuelle post og

  • indstille formularens fokus til en ny post '

Jokertegn vs. navngivne felter i en udvælgelsesforespørgsel

SELECT-delsætningen i qryEmployees bruger jokertegnet "*" til at vælge ALLE felter i tabellen. Jokertegnsdesignet medtager automatisk nyligt tilføjede felter fra en underliggende tabel, hvilket ikke er muligt med en liste over bestemte felter. På den anden side kan man angive bestemte felter for at begrænse det returnerede postsæt til f.eks. de felter, der kun skal vises i en formular.

Relevante designvalg

Dine design skal være baseret på den rette tilgang til dine krav. Selv om præferencen, når det er muligt, normalt vil gå til den fremgangsmåde, der er mindst tilbøjelig til at kræve fremtidig vedligeholdelse (dvs. jokertegnmetoden). 

Kombinationsbokse, der er bundet til opslagstabeller – to metoder

Relaterede elementer, f.eks. en medarbejders tilsynsførende, vises i rullelister eller kombinationsbokse i formularer. Kun fremmed nøgle for SupervisorID er nødvendig i formularens postkildeforespørgsel , fordi feltet er bundet til feltet Fremmed nøgle (SupervisorID). Kombinationsfeltet viser også den tilsvarende tekstværdi.

Et kombinationsfelt med to kolonner med en skjult id-kolonne og en synlig Beskrivelse-kolonne gør dette arbejde. Kombinationsfeltet Tilsynsførende er bundet til en simpel forespørgsel med to kolonner i medarbejderformularen. Se egenskaben Rækkekilde for Supervisor.

I nogle tilfælde har en opslagstabel dog ingen separat primær nøgle, og derfor er selve tekstværdien den primære nøgle.

Når en liste over mulige værdier er lille og meget stabil, f.eks. en medarbejders titel, kaldes det ofte et lukket domæne. Det er ikke almindeligt at ændre eller tilføje værdier for Titel. Lukkede domæneopslagstabeller er kandidater til forespørgselstilgang med én kolonne.

I formularen Medarbejder er kombinationsfeltet Titel bundet til en forespørgsel med én kolonne i Titler. Se egenskaben Rækkekilde for Titler. 

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.