Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Välj ett avsnitt nedan om du vill veta mer om hur du hanterar företag i Northwind Developer Edition. 

Obs!: Den här sidan refereras till i Access Developer Showcase Edition

I Northwind Starter Edition är Kunden den enda företagstypen. I Developer Edition har vi utökat den till att omfatta kunder, speditörer och leverantörer

Vi har också utökat Produkter till att omfatta flera leverantörer för en produkt.   

Varje företag kan bara vara en typ: antingen Kund, Speditör eller Leverantör. Affärsfallet för när företagstypen kan ändras beskrivs i avsnittet frmCompanyDetail i den här artikeln.
'

Företagstyper och var de används 

  • Kund för en order

  • Speditör för en order

  • Leverantör för en inköpsorder

  • Leverantör för en produkt

Dessutom kan företag i Northwind Developer-versionen ha flera kontakter.
'

Företag i menyfliksområdet

Om du väljer Företag i menyfliksområdet visas Företag i Northwind i frmCompanyList

Företagslista – frmCompanyList

FrmCompanyList är ett delat formulär i Northwind Developer-versionen. Ett delat formulär ger dig två vyer av dina data samtidigt, formulärvyn och databladsvyn. Den har också ett sidhuvud och en sidfot.  I den här implementeringen kommer vi inte att visa formulärvyn. Genom att inte visa formulärvyn har vi ett datablad med ett sidhuvud och en sidfot.  

Så här uppnår vi detta:  

I frmCompanyList visas inte delningslisten mellan sidhuvudet och databladet. Formuläregenskapen Delningslist för delat formulär är inställd på Nej och döljer därmed formulärvyn. 

Delade formulär och databladsformulär är som Excel-kalkylblad. De har stöd för filtrering och sortering och du kan visa, dölja eller flytta fält eller kolumner. Dessutom kan kolumner summeras. 

Med sidhuvuds- och sidfotsavsnitt i ett delat formulär kan du använda kommandoknappar, bilder, text(etiketter) och andra kontroller för åtkomstformulär som du vill förbättra användarens upplevelse. Om du vill veta mer om formulär och delade formulär kan du börja här. I datablad visas inte avsnitten för sidhuvuden och sidfötter.

Läs mer via Introduktion till formulär och Skapa ett delat formulär
'

Formuläret Företagslista har stöd för följande fem åtgärder:

  • Använda ett anpassat, färdigt filter, filtrering på begäran eller både och

  • Visa/dölj fält

  • Skapa etiketter

  • Visa filter

  • Lägga till ett nytt företag

Dubbelklicka någonstans på detaljraden för att öppna formuläret Företagsinformation (inte bara på ID som i andra formulär). 
'

Färdiga filter och filtrering på begäran

Formuläret frmCompanyList har många möjligheter att filtrera företagen i Northwind.  Högst upp på skärmen kan du filtrera med följande alternativknappar:

  • Alla företag (standard)

  • Endast kunder

  • Endast speditörer

  • Endast leverantörer

Dessutom finns det inbyggda filtreringsalternativ för databladet på begäran. Alla filter som används i formuläret Företagslista (förinstallerat eller på begäran) skickas och tillämpas på frmCompanyDetail när det öppnas.  

Om du vill överföra filter från ett formulär till ett annat måste du först rensa formulärets filtersträng så att den endast innehåller fältnamn. Titta på kodmodulen Open_frmCompanyDetail för en mer detaljerad beskrivning av hur detta görs och i frmCompanyDetail i kommentarerna för Form_Load för att se hur den tillämpas.

Vi skickar filterinformationen till företagsdetaljformuläret via formulärets OpenArgs-egenskap i stället för att öppna formuläret med ett där-villkor .  Du kan läsa mer om OpenArgs här.


Visa/dölj fält

Välj Visa/dölj fält för att öppna en dialogruta med en lista över alla tillgängliga fält. kan du markera eller avmarkera en eller flera kolumner. Den valda layouten finns kvar från en session till en annan tills en ny version av programmet distribueras. Se Visa eller dölja kolumner i ett datablad. 

Skapa etiketter

Knappen Skapa etiketter öppnar guiden Etikett i Access. Läs mer om etikettguiden här: Skapa adressetiketter i Access. 

Öppna företagsinformation

Dubbelklicka någonstans i en detaljrad för att öppna frmCompanyDetail

Klicka på ID-fältet (konfigurerat som en hyperlänk) eller dubbelklicka på ett annat fält på detaljraden för att öppna frmCompanyDetail för det valda företaget och skicka ett formulärfilter som tillämpats på företagslistan till frmCompanyDetail.

Företagsinformation – frmCompanyDetail

Vid första anblicken kan frmCompanyDetail se relativt enkel ut.  Men det är det inte.  I koden bakom formuläret händer mycket!  Följande åtgärder och funktioner markeras i formuläret:

  • Flera kommandoknappar och länkar

    • Lägg till företag

    • Email företagslista

    • Visa filter

    • Ta bort företag

    • Öppna en karta baserat på en adress

    • Öppna en webbplats från en hyperlänk

  • Avbryta eller spara åtgärder i lägg till/redigera-läge

  • Affärsregler som styr när en företagstyp kan ändras

  • Kontroll av referensintegritet före borttagningshändelsen
    '

Händelsen Form_Load innehåller följande åtgärder:

  • Använd flera parametrar som skickas till formuläret via OpenArgs och den anpassade Funktionen Northwind StringToDictionary

  • Använd formuläregenskapen OpenArgs för att tillåta en användare att lägga till ett nytt företag medan han eller hon gör en order

  • Använda GoToRecord-tekniken för att lägga till ett nytt företag

  • Använd metoden SearchForRecord för att flytta till det företag som valts på frmCompanyList

  • Alternativ för förgrening/villkorsstyrd körning (se Form_Load händelse)

    • Alternativ 1 – Case Statement

    • Alternativ 2 – Kapslat om annars

    • Alternativ 3 – ElseIf

    • Alternativ 4 – Kapslat om Annars och AnnarsOm
      '

I den Form_Current händelsen inträffar följande: 

  • Ändra ett underformulär bildtext- och källobjekt vid körning genom att anropa underordnat ManageFormOptions(). Den här underrubriken anropas från flera platser i det här formuläret. 
    '

Avbryt eller Spara åtgärder när du är i tilläggs- eller redigeringsläge. 

Våra Access-formulär är bundna.  Vad betyder det?  Från Microsoft:
"Ett bundet formulär är ett formulär som är direkt kopplat till en datakälla, till exempel en tabell eller fråga, och kan användas för att ange, redigera eller visa data från den datakällan."

Med bundna formulär kräver Access inte att du uttryckligen "sparar" dina data.  När du flyttar från en post till nästa sparas dina data automatiskt i Access.  Ofta fungerar det precis som du vill.  Men vad händer om en användare måste vidta en åtgärd för att ange att de är redo att spara? 

Till exempel har formuläret frmCompanyDetail ett underformulär för Kontakter (sfrmCompanyDetail_Contacts).  Vad händer om du börjar lägga till eller redigera företagsdata – t.säga telefonnummer – och pausar för att åtgärda ett stavfel som du lägger märke till i en kontakts information?  Som standard sparas alla ändringar du gjort i företagsposten när du klickar på kontaktposten, vilket inte är vad du vill. 

I det här formuläret visar vi ett sätt att åstadkomma detta med en enda post för ett företag.

Vad är orsaken till att du har knappen Avbryt ? Esc-tangenten tar bort alla angivna eller ändrade (men ej sparade) data i en kontroll i formuläret. I det här läget visas pennikonen i postväljaren (ett grått lodrätt fält längst till vänster på raden).

Men när du klickar på knappen Lägg till företag märker du att det inte finns någon pennikon förrän du börjar ange data i den nya företagsposten. Vad händer om du ändrar dig om att lägga till ett nytt företag i det här läget? Om du trycker på esc-tangenten händer ingenting eftersom du inte har angett några data ännu. Därför har vi knappen Avbryt.

Det går alltid att klicka på knappen Avbryt . esc-tangenten fungerar bara när du har angett eller ändrat data.  

Om du börjar lägga till eller ändra data och sedan stänger formuläret utan att klicka på Spara eller avbryt sparas data som standard i Access.  

Affärsregel:
Som en Northwind-affärsregel för företag vill vi att du uttryckligen anger att du vill "Spara".  För att säkerställa det måste vi kontrollera om användaren klickade på Spara i den Form_BeforeUpdate händelsen och om de inte klickade på Spara uppmanar du användaren att ange om han eller hon vill spara eller avbryta ändringarna.
'

Ändring av företagstyp

Affärsregel: Om ett företag har befintliga order, inköpsorder eller är leverantör för en produkt kan användaren inte ändra företagstypen. Vi har skapat en funktion, CompanyIsActive(), för att avgöra om något av ovanstående villkor finns. Om så är fallet kan användaren inte ändra företagstyp förrän referenserna har rensats (tagits bort). 

Den här regeln tillämpas endast i det här formuläret.  I ett produktionsklart program tillåter du inte att användare ändrar data genom att öppna tabellen direkt.  I Northwind kan du öppna tabellerna och göra vad du vill.  Det här är ett bra sätt att lära sig, men det ger dig också frihet att göra ändringar som kan bryta mot reglerna. 

Du bör alltid programmera defensivt. Planera för det oväntade. Även om företaget för närvarande är en Speditör betyder det inte att de inte vid någon tidpunkt var en leverantör eller kund. Deras ID kan finnas i äldre poster i tabellerna ProductVendor eller PurchaseOrder .
'

Anpassat dialogformulär.

För att visa resultaten använder cboCompanyTypeID_BeforeUpdate ett dialogformulär, frmGenericDialog. Det här kan vara ett bra alternativ till standardmeddelanderutan när du har mycket information att visa. Det används också med anställningsformuläret för ett liknande ändamål.
'
 
Ta bort referensintegritetskontroll

I Northwind Starter Edition låter vi standardbeteendet i Access meddela dig om att ett företag inte kan tas bort när det har relaterade poster.  

I Northwind Developer Edition meddelar vi dig innan borttagningen, i stället för att acceptera Access-standardbeteendet.  Vi gör det med samma funktion som vi gjorde Ändra företagstyp. funktionen CompanyIsActive().

Skillnaden är att vi bara bryr oss om Order eller Inköpsorder. Om det inte finns några order eller inköpsorder bekräftar vi din avsikt att ta bort, och vi tar bort produktleverantören och kontakterna om de finns åt dig. 

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×