Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Velg et emne nedenfor for å lære om ansatte i Northwind Developer Edition. 

Ansatte har ett delt skjema som fungerer som et liste- og detaljskjema. 

Bruk Ansatte til å legge til nye ansatte og oppdatere informasjon om eksisterende ansatte. 

Velg Ansatte-fanen på båndet for å vise ansatte i ansattlisteskjemaet, frmEmployeeList, som er et delt skjema med følgende funksjoner: 

  • Den øverste delen av skjemaet er én enkelt visning av én ansatt.

  • Den nederste delen av skjemaet er en dataarkvisning for alle ansatte.

  • Hvis du velger en ansatt i en av delene, settes også fokuset til den ansatte i den andre delen av det delte skjemaet.

  • Du kan legge til, redigere eller slette ansatte i en av delene av det delte skjemaet.

  • Hvis du bruker et delt skjema med dataarkvisningsdelen, antas det at skjemaets postkilde har flere poster.

Potensiell ytelsesinnvirkning av et delt skjema 

De fleste utviklere foretrekker ikke å laste inn en ufiltrert tabell eller spørring som postkilde for et skjema. Hvis du filtrerer et skjema til én enkelt post, minimeres mengden data som skal overføres fra tabellen til skjemaet. Med en lokal Access-tabell kan forskjellen mellom å laste inn en filtrert postkilde og en liten ufiltrert postkilde være knapt merkbar. Denne ytelsen går imidlertid tapt når Access-tabellene erstattes med en ekstern, serverbasert database, for eksempel SQL Server. 

Ansatttabellen i Northwind skal ikke bli veldig stor, så det er en kandidat til en ufiltrert postkilde. Skjemaer som er bundet til andre tabeller, for eksempel ordredetaljer, som potensielt vil vokse til mange tusen poster, er imidlertid ikke kandidater for en ufiltrert postkilde.
 

REDIGERE ANSATTE

Når du legger til eller redigerer poster i et delt skjema, kan brukere skrive inn verdier i skjemavisning eller dataarkvisning. Noen felt er obligatoriske, noen er valgfrie. Skjemaet validerer tilstedeværelsen av verdier i obligatoriske felt. Se Obligatorisk feltvalidering nedenfor.

Oppslagstabeller, verdilister og rullegardinkontroller

  • Rullegardinlisten Titler begrenser oppføringer til en liste over forhåndsvalgte titler. Titler er i en oppslagstabell kalt Titler.

  • Noen forventede valg er allerede lagret i oppslagstabellen, men brukere kan legge til nye titler i oppslagstabellen ved hjelp av standard Access-virkemåte for kombinasjonsboksen eller rullegardinkontroller.

    • Egenskapen Limit to List (Grense til liste) for kombinasjonsboksen Tittel er satt til Ja, og redigeringsskjemaet for Titler identifiseres i egenskapen Rediger skjema for listeelementer. Når du velger rullegardinlisten i skjemaet, vises redigeringsikonet på den nederste kanten. 
      ...

Når du klikker på redigeringsikonet, åpnes redigeringsskjemaet Titles , frmEmployeeTitles, hvor du kan endre eller legge til i listen over godkjente titler. 

OBS! I de fleste produksjonsmiljøer vil redigering eller tillegging av titler være begrenset til brukere med forbedrede rettigheter.
 

Self-Referential oppslagsfelt

Ansattfunksjonen illustrerer konseptet med et Self-Referential-ID-felt. Hvis du vil støtte angivelse av en ansatts overordnede, har tabellen et SupervisorID-felt med AnsattID-erfor andre ansatte. Hvis du vil angi en overordnet, angis AnsattID for en annen ansatt i dette feltet. Access fremtvinger referanseintegritet for denne relasjonen.

SupervisorID implementeres i ansattskjemaet som en rullegardinliste eller kombinasjonsboks. radkilden er et filtrert sett med poster fra Ansatt-tabellen. Fordi den er selvreferentiell, må spørringen utelate den valgte ansattes egen EmployeeID. Rowsource for SupervisorID for employee Karen Finster inkluderer for eksempel ikke Karens egen EmployeeID. Hun kan ikke være sin egen veileder.

Vedleggsfelt og -kontroller

Ansattbilder lagres i et vedleggsfelt i tabellen. Du legger til nye bilder eller endrer eksisterende bilder ved hjelp av standard virkemåte for Access for vedleggsfelt. 
...

MERK: Vi inkluderte et vedleggsfelt i Ansatt-tabellen for å illustrere funksjonen i Access. Innebygde bilder øker størrelsen på accdbs og regnes derfor ikke som en anbefalt fremgangsmåte. Evaluer miljøet nøye før du implementerer det i et produksjonsprogram. Det foretrukne alternativet er en nettverksmappe som lagrer alle bilder, og en kobling i et tekstfelt i tabellen som inneholder banen til bildet, i stedet for Vedlegg-feltet.

Delskjema med relatert informasjon

Ordrer-delskjemaet (på høyre side av Ansatt-skjemaet) viser nylige ordrer (hvis aktuelt) som håndteres av den ansatte. Delskjemaet viser ordrer i dataarkvisning, sortert fra nyest til eldst. Hvis du vil redigere en eksisterende ordre for den ansatte, klikker du den hyperkoblede ordre-ID-en # i ordredelskjemaet.

Postkilde for ansattskjema

En spørring kalt qryEmployees returnerer postene i skjemaet. Bruk av en spørring, i stedet for tabellen, regnes vanligvis som en anbefalt fremgangsmåte. Spørringen returnerer bare poster fra én tabell. I tillegg kan en spørring parameteres for å begrense antall poster som returneres. 

  • Velg-setningsdelen i denne spørringen bruker jokertegnet *til å returnere alle feltene fra Ansatt-tabellen.

  • To beregnede felt i spørringen returnerer Fornavn Etternavn og Etternavn, Fornavn.
     

Beregnede verdier i kontroller

MERK: De beregnede feltene lagres ikke i tabellen. De er imidlertid tilgjengelige i skjemaets postkilde.

De fleste kontrollene i ansattskjemaet er aktivert, slik at du kan velge dem med musen eller fanen inn i dem og ikke er låst , slik at de kan redigeres. 

I tillegg til innebygd Access-virkemåte utfører VBA Subs og Functions i skjemaer, i kontroller på skjemaer og i frittstående moduler den grunnleggende logikken som kreves for ansatte. Den følgende delen beskriver funksjoner og koden som implementerer disse funksjonene. 

Innebygd kontrollhandling

Standard virkemåte for skjemapostvelger: 

  • Venstreklikking på postvelgeren til venstre for et skjema i én visning lagrer gjeldende post med eventuelle endringer. Hvis du lagrer ved å venstreklikke postvelgeren, utløses riktige VBA-underområder og funksjoner.

  • Når du høyreklikker på postvelgeren til venstre for et skjema i én visning, vises en meny for å utføre handlinger som Klipp ut, Kopier eller Lim inn en post. Hvis du sletter eller klipper ut en post, utløses EmployeeCanBeDeleted-funksjonen som er beskrevet nedenfor.

  • Postvelgere må være aktivert for at et skjema for denne standardvirkemåten skal være tilgjengelig.
     

Referanseintegritet for poster i skjemaet

Referanseintegritet hindrer sletting av ansatte som har underordnede poster i relaterte tabeller. Access utløser derfor en feil hvis en bruker prøver å slette en post med underordnede poster. Northwind Employee-skjemaet Access erstatter generiske standard feilmeldinger om referanseintegritet med egendefinerte meldinger.

Kode i skjemaets Delete-prosedyre svarer på forsøk på enten å klippe ut en post fra hurtigmenyen eller slette en post ved hjelp av Delete-tasten . 

En privat funksjon, EmployeeCanBeDeleted, ser etter relaterte poster for den ansatte i tabellene Ordrer, Kjøpsordrer, Ansatte og Ansatterettigheter

Hvis de blir funnet, undertrykker denne funksjonen standard feilmelding og informerer brukeren om årsaken til at posten ikke kan slettes ved hjelp av den samme generiske dialogboksen som kundeskjemaet bruker til å varsle brukeren om årsaken til at kunden ikke kan slettes.

Validering

Ansatte implementerer validering og standard feilbehandling. Det finnes to typer validering for kontroller.

  • Obligatoriske felt

  • Standardformater

Obligatorisk feltvalidering

 Tre felt kreves for alle ansatte:

  • Fornavn

  • Etternavn

  • Stilling

I denne utviklerversjonen validerer skjemaets Før oppdatering-hendelse obligatoriske felt. Hvis en bruker prøver å lagre en ansattpost uten verdier for ett eller flere obligatoriske felt som ikke har en verdivalidering, avbrytes lagringen og uthever eventuelle obligatoriske felt som ikke har en verdi. I Ansatt-skjemaet i Northwind håndteres obligatorisk feltvalidering av hendelsen Før oppdatering i skjemaet, ikke av de individuelle kontrollene.

Hendelsen Før oppdatering for ansattskjemaet validerer tilstedeværelsen av verdier for de tre obligatoriske feltene. Hvis du lagrer en ny eller redigert ansattpost, utløses skjemaets Før oppdatering-hendelse , som kaller offentlige funksjoner som ser etter, og svarer på, tilstedeværelsen eller fraværet av de nødvendige verdiene.

ModValidation-modulen inneholder disse funksjonene:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Administrere nye ansatte

Når du klikker legg til ansatt-knappen, kjøres private underordnede btnNewEmployee_Click for å gjøre følgende: 

  • lagre gjeldende post og

  • sette skjemaets fokus til en ny post
    '

Jokertegn kontra navngitte felt i en utvalgsspørring

SELECT-setningen i qryEmployees bruker jokertegnet "*" til å velge ALLE felt i tabellen. Utforming av jokertegnspørring inkluderer automatisk eventuelle nylig tilføyde felt fra en underliggende tabell, som ikke er mulig med en liste over bestemte felt. På den annen side kan man vise bestemte felt for å begrense det returnerte postsettet til bare de feltene som kreves i et visningsskjema, for eksempel.

Aktuelle utformingsvalg

Utformingene bør være basert på den riktige fremgangsmåten for dine krav. Selv om preferanse normalt ville gå til tilnærmingen minst sannsynlig å kreve fremtidig vedlikehold (det vil si jokertegntilnærmingen) når det er mulig, vil preferansen normalt gå til tilnærmingen som er minst sannsynlig å kreve fremtidig vedlikehold (det vil si jokertegntilnærmingen). 

Kombinasjonsbokser som er bundet til oppslagstabeller – to tilnærminger

Relaterte elementer, for eksempel en ansatts veileder, vises i rullegardinlister eller kombinasjonsbokser i skjemaer. Bare sekundærnøkkelen for supervisorID er nødvendig i skjemaets postkildespørring fordi dette feltet er bundet til sekundærnøkkelfeltet (SupervisorID). Kombinasjonsboksen viser også den tilsvarende tekstverdien.

En kombinasjonsboks med to kolonner med en skjult ID-kolonne og en synlig beskrivelseskolonne får dette til å fungere. I ansattskjemaet er kombinasjonsboksen Supervisor bundet til en enkel spørring med to kolonner. Se Egenskapen RowSource for Supervisor.

I noen tilfeller har imidlertid en oppslagstabell ingen egen primærnøkkel, og derfor er selve tekstverdien primærnøkkelen.

Når en liste over mulige verdier er liten og svært stabil, for eksempel en ansatts tittel, kalles den ofte et lukket domene. Det er ikke vanlig å endre eller legge til verdier for tittel. Oppslagstabeller for lukket domene er kandidater for spørringstilnærmingen med én kolonne.

I Ansatt-skjemaet er Tittel-kombinasjonsboksen bundet til en spørring med én kolonne med titler. Se RowSource-egenskapen for Titler. 

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×