Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

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

Bemærk!: Der refereres til denne side i Access Developer Showcase Edition

I Northwind Starter Edition er Kunde den eneste firmatype. I Developer Edition har vi udvidet dette til at omfatte kunder, speditionsfirma og leverandører

Vi har også udvidet Produkter til at omfatte flere leverandører af et produkt.   

Hver virksomhed kan kun være af én type: enten Kunde, Speditør eller Leverandør. Forretningssagen for, hvornår firmatypen kan ændres, er beskrevet i afsnittet frmCompanyDetail i denne artikel.
'

Virksomhedstyper, og hvor de bruges 

  • Kunde for en ordre

  • Speditør for en ordre

  • Kreditor for en indkøbsordre

  • Leverandør af et produkt

Desuden kan Virksomheder i Northwind Developer-versionen have flere kontakter.
'

Firmaer på båndet

Hvis du vælger Firmaer på båndet, vises Firmaer i Northwind i frmCompanyList

Firmaliste – frmCompanyList

I Northwind Developer Version er frmCompanyList en delt formular. En delt formular giver dig to visninger af dine data på samme tid, Formularvisning og Dataarkvisning. Den har også et sidehoved og en sidefod.  I denne implementering viser vi ikke formularvisningen. Når formularvisningen ikke vises, har vi et dataark med et sidehoved og en sidefod.  

Sådan opnår vi dette:  

I frmCompanyList er delelinjen mellem sidehovedet og dataarket ikke synlig. Formularegenskaben Delelinje for delt formular er indstillet til Nej, hvilket skjuler formularvisningen. 

Delte formularer og dataarkformularer er ligesom Excel-regneark. De understøtter filtrering og sortering, og du kan vise, skjule eller flytte felter eller kolonner. Kolonner kan også lægges sammen. 

Sidehoved- og sidefodssektioner i en delt formular giver dig mulighed for at bruge kommandoknapper, billeder, tekst(etiketter) og andre kontrolelementer i access-formularer, du vil forbedre brugerens oplevelse. Hvis du vil vide mere om formularer og delte formularer, kan du starte her. Dataark viser ikke sidehoved- og sidefodssektionerne.

Få mere at vide via Introduktion til formularer og Opret en delt formular
'

Formularen Firmaliste understøtter disse fem handlinger:

  • Anvend et brugerdefineret, genopbygget filter, filtrering efter behov eller begge dele

  • Vis/skjul felter

  • Opret etiketter

  • Vis filter

  • Tilføj et nyt firma

Dobbeltklik et vilkårligt sted i detaljerækken for at åbne formularen Firmadetaljer (ikke kun på id som i andre formularer). 
'

Genopbyggede filtre og filtrering efter behov

Formularen frmCompanyList indeholder muligheder for at filtrere Firmaer i Northwind.  Øverst på skærmen kan du filtrere ved hjælp af disse alternativknapper:

  • Alle firmaer (standard)

  • Kun kunder

  • Kun speditionsfirma

  • Kun leverandører

Desuden er dataarkets indbyggede filtreringsindstillinger efter behov tilgængelige. Alle filtre, der anvendes på formularen Firmaliste (genopbygget eller efter behov), overføres og anvendes på frmCompanyDetail , når den åbnes.  

Hvis du vil overføre filtre fra én formular til en anden, skal du først rense formularens filterstreng, så den kun indeholder feltnavne. Kig på kodemodulet Open_frmCompanyDetail for at få en mere detaljeret beskrivelse af, hvordan dette gøres, og i frmCompanyDetail i kommentarerne til Form_Load for at se, hvordan det anvendes.

Vi videregiver filteroplysningerne til formularen Firmadetaljer via formularens OpenArgs-egenskab i stedet for at åbne formularen med betingelsen where .  Du kan få mere at vide om OpenArgs her.


Vis/skjul felter

Vælg Vis/skjul felter for at åbne en dialogboks med en liste over alle tilgængelige felter. kan du markere eller fjerne markeringen i en eller flere kolonner. Det valgte layout bevares fra én session til en anden, indtil der installeres en ny version af programmet. Se Vis eller skjul kolonner i et dataark. 

Opret etiketter

Knappen Opret navne åbner guiden Navn i Access. Få mere at vide om guiden Etiket her: Opret adresseetiketter i Access. 

Åbn Firmadetaljer

Dobbeltklik et vilkårligt sted i en detaljerække for at åbne frmCompanyDetail

Klik på id-feltet (konfigureret som et link), eller dobbeltklik på et andet felt i detaljerækken for at åbne frmCompanyDetail til det valgte firma og videregive et formularfilter, der blev anvendt på firmalisten, til frmCompanyDetail.

Firmadetaljer – frmCompanyDetail

Ved første øjekast ser frmCompanyDetail muligvis relativt enkel ud.  Men det er det ikke.  I koden bag formularen sker der meget!  Formularen fremhæver følgende handlinger og funktioner:

  • Flere kommandoknapper og links

    • Tilføj firma

    • Send firmaliste via mail

    • Vis filter

    • Slet firma

    • Åbne et kort baseret på en adresse

    • Åbne et websted fra et link

  • Annuller eller Gem handlinger i tilføj/rediger tilstand

  • Forretningsregler til styring af, hvornår en firmatype kan ændres

  • Kontrol af referentiel integritet før sletningen
    '

Hændelsen Form_Load indeholder følgende handlinger:

  • Brug flere parametre, der overføres til formularen via OpenArgs og den brugerdefinerede Northwind StringToDictionary-funktion

  • Brug formularegenskaben OpenArgs til at tillade en bruger at tilføje et nyt firma , mens der tages en ordre

  • Brug GoToRecord-teknikken til at tilføje et nyt firma

  • Brug searchForRecord-teknikken til at flytte til det firma, der er valgt på frmCompanyList

  • Indstillinger for forgrening/betinget udførelse (se Form_Load hændelse)

    • Mulighed 1 – Sætning med store og små bogstaver

    • Mulighed 2 – Indlejret, hvis ellers

    • Mulighed 3 – Ellers hvis

    • Mulighed 4 – Indlejret Hvis Ellers og Ellers.Hvis
      '

I Form_Current-hændelse sker følgende: 

  • Rediger en underformulars titeltekst og kildeobjekt på kørselstidspunktet ved at kalde under-ManageFormOptions(). Denne subrutine kaldes fra flere steder i denne formular. 
    '

Annuller eller Gem handlinger, når du er i tilføj eller rediger tilstand. 

Vores Access-formularer er bundet.  Hvad betyder det?  Fra Microsoft:
"En "bundet" formular er en formular, der er direkte forbundet til en datakilde, f.eks. en tabel eller forespørgsel, og den kan bruges til at angive, redigere eller vise data fra den pågældende datakilde."

Med bundne formularer kræver Access ikke, at du eksplicit "gemmer" dine data.  Når du flytter fra én post til den næste, gemmer Access automatisk dine data.  Det fungerer ofte, som du vil have det.  Men hvad nu, hvis en bruger skal foretage en handling for at angive, at vedkommende er klar til at gemme? 

Formular frmCompanyDetail har f.eks. en underformular til Kontakter (sfrmCompanyDetail_Contacts).  Så hvad sker der, hvis du begynder at tilføje eller redigere firmadata – lad os sige telefonnummer – og stopper for at rette en slåfejl, du bemærker i en kontakts oplysninger?  Som standard gemmer Access de ændringer, du har foretaget i firmaposten, når du klikker på kontaktposten, hvilket ikke er det, du ønsker. 

I denne formular viser vi én måde at gøre dette på med en enkelt post for et firma.

Hvad er årsagen til, at du har knappen Annuller ? Escape-tasten annullerer alle indtastede eller ændrede (men ikke-gemte) data i et kontrolelement i formularen. I denne tilstand vises blyantsikonet i postvælgeren (en grå lodret streg yderst til venstre i rækken).

Men når du har klikket på knappen Tilføj firma , vil du bemærke, at der ikke er noget blyantsikon, før du begynder at indtaste data i den nye firmapost. Hvad nu, hvis du skifter mening om at tilføje et nyt firma på nuværende tidspunkt? Hvis du trykker på esc-tasten, sker der ingenting, fordi du endnu ikke har angivet nogen data. Derfor har vi knappen Annuller.

Når du klikker på knappen Annuller , fungerer det altid. Escape-tasten fungerer kun, når du har angivet eller ændret data.  

Hvis du begynder at tilføje eller ændre data og derefter lukker formularen uden at klikke på Gem eller annuller, gemmer Access som standard dataene.  

Forretningsregel:
Som en Northwind-forretningsregel for virksomheder ønsker vi, at du eksplicit angiver, at du vil "Gemme".  For at sikre dette skal vi kontrollere, om brugeren har klikket på Gem i Form_BeforeUpdate-hændelsen, og hvis brugeren ikke klikkede på Gem, skal du bede brugeren om at angive, om vedkommende vil gemme eller annullere sine ændringer.
'

Ændring af firmatype

Forretningsregel: Hvis et firma har eksisterende ordrer, indkøbsordrer eller er leverandør for et produkt, kan brugeren ikke ændre firmatypen. Vi har oprettet en funktion, CompanyIsActive() for at afgøre, om nogen af ovenstående betingelser findes. Hvis det er muligt, kan brugeren ikke ændre firmatypen, før disse referencer er ryddet (slettet). 

Denne regel gennemtvinges kun i denne form.  I et produktionsklart program ville du ikke tillade brugere at ændre data ved at åbne tabellen direkte.  I Northwind giver vi dig mulighed for at åbne tabellerne og gøre, hvad du ønsker.  Dette er en god måde at lære på, men det giver dig også mulighed for at foretage ændringer, der kan være i strid med reglerne. 

Du bør altid programmere defensivt. Planlæg det uventede. Selvom virksomheden i øjeblikket er speditør, betyder det ikke, at de på et tidspunkt ikke var leverandør eller kunde. Deres id findes muligvis i ældre poster i Tabellerne ProductVendor eller PurchaseOrder .
'

Brugerdefineret dialogboksformular.

For at få vist resultaterne bruger cboCompanyTypeID_BeforeUpdate en dialogboksformular, frmGenericDialog. Dette kan være et godt alternativ til standardmeddelelsesfeltet, når du har mange oplysninger, der skal vises. Den bruges også sammen med medarbejderformularen til et lignende formål.
'
 
Slet kontrol af referentiel integritet

I Northwind Starter Edition lader vi Access-standardfunktionsmåden give dig besked om, at et firma ikke kan slettes, når det har relaterede poster.  

I Northwind Developer Edition giver vi dig besked før sletningen i stedet for at acceptere standardfunktionsmåden i Access.  Det gør vi ved hjælp af den samme funktion, som vi gjorde med Skift firmatype. funktionen CompanyIsActive().

Forskellen er, at vi kun er interesseret i ordrer eller indkøbsordrer. Hvis der ikke er nogen ordrer eller indkøbsordrer, bekræfter vi, at du har til hensigt at slette, og vi sletter produktleverandøren og kontakterne , hvis de findes for dig. 

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.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×