I följande avsnitt visas hur du använder formulär för anställda och hur du programmerar dem. Objektnamnen tillhandahålls så att du enkelt kan undersöka dem i Northwind 2.0 Starter Edition-databasen.
Det här är viktig information om hur du använder formuläret för anställningslistan:
-
Från och med huvudmenyn visas en lista över anställda (sfrmMainMenu_EmployeeList) i arbetsytan till höger när du väljer Anställda på menyn till vänster.
-
Varje anställds ID är en hyperlänk för att öppna den anställdas post i ett popup-formulär för att redigera informationen.
-
Om du vill lägga till en ny anställd klickar du på knappen Lägg till anställd längst till höger i rubrikraden, som öppnar en ny anställds post i ett popup-formulär (sfrmEmployeeDetail_OrderList) för att lägga till deras information.
Det här är viktig information om hur du använder popup-formuläret med information om anställda:
-
Popup-formuläret med information om anställda (frmEmployeeDetail) gör det möjligt att redigera och lägga till poster för anställda.
-
Tre fält krävs för alla anställda: Förnamn, Efternamn och Befattning.
-
Standardfelmeddelanden i Access varnar dig när en eller flera inte har slutförts innan du försöker spara den anställdas post. Ingen verifiering tillämpas på andra fält, till exempel e-postadress och telefonnummer. Användarna ansvarar för korrekt formatering, till exempel (000) 000-000. Standardverifiering av Access i listrutekontrollen för Rubriker begränsar poster i en lista med förvalda värden. Du kan lägga till nya rubriker igen med standardbeteendet i Access för värdefältskontroller. När du väljer listrutan i formuläret visas redigeringsikonen.
-
Bilder från anställda lagras i tabellen som ett fält för bifogade filer. Du lägger till nya bilder eller ändrar befintliga bilder med standardbeteendet i Access för fält för bifogade filer.
-
Om en anställd har skapat order visas dessa order i databladsvyn i underformuläret till höger i popup-fönstret med information om anställda.
-
En befintlig order för den anställda kan redigeras genom att klicka på det hyperlänkade order-ID:t i underformuläret Order (sfrmOrderDetails).
Formulären för anställda använder både VBA och inbäddade makron i kontroller i formulär för att utföra grundläggande logik. De innehåller två fristående makron och flera inbäddade makron.
Lista över anställda
-
Formuläret Personallista (sfrmMainMenu_EmployeeList) hämtar data från en enkel fråga qryEmployeeList (från egenskapen RecordSource ). Vi rekommenderar att du baserar ett datainmatningsformulär på en entabellfråga.
-
Kontroller i formuläret för den anställdas lista är aktiverade, vilket innebär att du kan markera dem och låsa dem, vilket innebär att de är skrivskyddade.
-
Fältet Rubrik, som baseras på ett flervärdesfält, är en listruta eller kombinationsruta. Dess radkälla är en värdelista, vilket innebär att de valfria objekten som är tillgängliga finns direkt i det fältet. Listan har egenskapen Gräns för lista inställd på "Ja" eftersom det här formuläret inte är avsett för redigering. Flervärdesfältet ingår bara som en illustration av funktionen, inte som en rekommendation.
-
I listan över anställda (sfrmMainMenu_EmployeeList) svarar två underprocedurer på händelser för Tangent upp och Nedtangent på en användares markörrörelser i databladsvyn. De identifierar riktningen på en markörrörelse (vänster, höger, ovanför eller nedanför) och anropar VBA-funktioner som flyttar fokus till rätt kontroll.
-
Du redigerar befintliga poster för anställda och lägger till nya i informationsformuläret (frmEmployeeDetail).
-
Du kan öppna formuläret med personalinformation från listan över anställda som ett redigerbart popup-formulär på något av två sätt:
-
Genom att välja ett EmployeeID, som är formaterat för att visas som en hyperlänk, öppnar du formuläret för anställningsinformation och filtrerar det till endast den anställdas post.
-
Genom att välja etiketten Lägg till anställd i formulärhuvudet för att öppna formuläret med personalinformation och flytta fokus till en ny post. Alla aktuella poster finns i formulärets datakälla.
Observera att de två metoderna kan ha olika effekter på prestanda. Om du filtrerar ett formulär till en enskild post minimeras mängden data som ska överföras från tabellen. Med en liten postuppsättning kanske skillnaden inte märks.
-
Information om anställda
-
Formuläret med personalinformation (frmEmployeeDetail) hämtar data från en enkel fråga, qryEmployeeDetails (från formulärets RecordSource-egenskap ). Vi rekommenderar att du baserar ett datainmatningsformulär på en entabellfråga.
-
SELECT-satsen i qryEmployeeDetails använder asteriskens jokertecken (*) för att markera alla fält i tabellen, medan SELECT-satsen i qryEmployeeList listar specifika fält. Med jokertecknet kan nya fält i en underliggande tabell hämtas utan ytterligare redigering av frågan. Det här är inte möjligt med en lista med specifika fält. En lista med specifika fält begränsar postuppsättningen till endast de fält som behövs i formuläret som endast visas. Din design bör baseras på vilken metod som är lämpligare för ditt krav, även om inställningen bör gå till den metod som är minst sannolikt att kräva framtida underhåll, vilket är användningen av jokertecken.
-
Kontroller i formuläret för anställningsinformation är aktiverade och inte låsta, vilket innebär att du kan välja och redigera dem.
-
Fältet Rubrik, som baseras på ett flervärdesfält, är en listruta eller kombinationsruta. Dess radkälla är en värdelista, vilket innebär att de valfria objekten som är tillgängliga finns direkt i det fältet. Listan har egenskapen Gräns för lista inställd på "Nej" eftersom det här formuläret är avsett för redigering. När du lägger till eller redigerar rubriker används den inbyggda Access-metoden, så ingen kod krävs. Flervärdesfältet ingår bara som en illustration av funktionen, inte som en rekommendation.
-
Du kan redigera befintliga poster för anställda och nya i informationsformuläret.
-
Du kan öppna formuläret med personalinformation från listan över anställda som ett redigerbart popup-formulär på något av två sätt:
-
Genom att välja ett EmployeeID, som är formaterat för att visas som en hyperlänk, öppnar du formuläret för anställningsinformation och filtrerar det till endast den anställdas post.
-
Genom att välja etiketten Lägg till anställd i formulärhuvudet för att öppna formuläret med personalinformation och flytta fokus till en ny post. Alla aktuella poster finns i formulärets datakälla.
-
-
Om du filtrerar ett formulär till en enskild post minimeras mängden data som ska överföras till formuläret från tabellen. Med en liten postuppsättning, t.ex. exempeldata, kanske skillnaden inte märks.
-
Underformulärkontrollen (sfrmEmployeeDetail_OrderList) till höger om Personal Information visar order för den valda medarbetaren (om det finns några). Underformuläret i underformulärkontrollen används på nytt i avsnittet Order . De inbyggda egenskaperna för Access LinkMasterFields/LinkChildFields för underformulärkontrollen synkroniserar och filtrerar poster som visas för varje anställd.
-
I personalinformation (frmEmployeeDetail) svarar två underprocedurer på formulärets Vid aktuell händelse och Vid stängningshändelse på dessa händelser:
-
På Aktuell visas eller döljs etiketten Lägg till anställd beroende på om den aktuella posten är en befintlig, eller när det är en post för en ny anställd, startad men ännu inte sparad.
-
Vid Stängning utförs två underhållsåtgärder. Postuppsättningen i den anställdas detaljunderformulär efterfrågas för att uppdatera eventuella tillägg eller ändringar som gjorts i informationsformuläret. Den synkroniserar om visningen av antalet anställda i huvudmenyn genom att anropa det makrot.
-
Makron
macMainMenu_UpdateSubs Det här makrot är fristående och körs när vissa händelser inträffar, inklusive formulär för anställda. Inom macMainMenu_UpdateSubs grupperas undermakron enligt de funktioner som de gäller för. För anställda synkroniserar delmakro antalet anställdas poster med det visade antalet på huvudmenyn.
Inbäddade makron Formulär för anställda styrs främst av inbäddade makron som finns i formuläret och kan redigeras endast från formuläret. I listan över anställda (sfrmMainMenu_EmployeeList):
-
Hyperlänk till EmployeeID Om du klickar på anställnings-ID:t i formuläret för anställningslistan öppnas formuläret Personalinformation och fokus flyttas till den valda posten för anställda.
-
Lägg till etikett för anställda Om du klickar på knappen Lägg till anställd öppnas informationsformuläret för anställda (frmEmployeeDetail) och fokus flyttas till en ny post.
-
Information om anställda Om du klickar på knappen Lägg till anställd i sidhuvudet sparas den aktuella posten och fokus flyttas till en ny post.