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 å finne ut mer om administrasjon av firmaer i Northwind Developer Edition. 

Obs!: Denne siden refereres til i Access Developer Showcase Edition

Kunde er den eneste firmatypen i Northwind Starter Edition. I Utviklerutgaven har vi utvidet dette til å omfatte kunder, speditører og leverandører

Vi har også utvidet Produkter til å inkludere flere leverandører for et produkt.   

Hvert firma kan bare være én type: enten kunde, speditør eller leverandør. Forretningstilfellet for når firmatypen kan endres, beskrives i delen frmCompanyDetail i denne artikkelen.
'

Firmatyper og hvor de brukes 

  • Kunde for en ordre

  • Speditør for en ordre

  • Leverandør for en innkjøpsordre

  • Leverandør for et produkt

I tillegg kan firmaer i Northwind Developer-versjonen ha flere kontakter.
'

Firmaer på båndet

Hvis du velger Firmaer fra båndet, vises Firmaer i Northwind i frmCompanyList

Firmaliste – frmCompanyList

FrmCompanyList er et delt skjema i Northwind Developer Version. Et delt skjema gir deg to visninger av dataene samtidig, skjemavisning og dataarkvisning. Den har også en topptekst og bunntekst.  I denne implementeringen viser vi ikke skjemavisningen. Ved ikke å vise skjemavisningen har vi et dataark med en topptekst og bunntekst.  

Slik oppnår vi dette:  

I frmCompanyList er ikke delingslinjen mellom toppteksten og dataarket synlig. Skjemaegenskapen Delingslinje for delt skjema er satt til Nei, og skjuler dermed skjemavisningen. 

Delte skjemaer og dataarkskjemaer er som Excel-regneark. De støtter filtrering og sortering, og du kan vise, skjule eller flytte felt eller kolonner. Kolonner kan også summeres. 

Topptekst- og bunntekstinndelinger i et delt skjema lar deg bruke kommandoknapper, bilder, tekst(etiketter) og eventuelle andre tilgangsskjemakontroller du vil forbedre brukerens opplevelse. Hvis du vil lære mer om skjemaer og delte skjemaer, kan du starte her. Dataark viser ikke topptekst- og bunntekstinndelinger.

Mer informasjon via Innføring i skjemaer og Opprett et delt skjema
'

Firmalisteskjemaet støtter disse fem handlingene:

  • Bruke et egendefinert, forhåndsbygd filter, behovsbetinget filtrering eller begge deler

  • Vis/skjul felt

  • Opprett etiketter

  • Vis filter

  • Legg til et nytt firma

Dobbeltklikk hvor som helst i detaljraden for å åpne skjemaet Firmadetaljer (ikke bare på ID som i andre skjemaer). 
'

Forhåndsbygde filtre og behovsbetinget filtrering

FrmCompanyList-skjemaet er rikt på muligheter til å filtrere firmaer i Northwind.  Øverst på skjermen kan du filtrere ved hjelp av disse alternativknappene:

  • Alle firmaer (standard)

  • Bare kunder

  • Bare speditører

  • Bare leverandører

I tillegg er dataarkets innebygde, behovsbetingede filtreringsalternativer tilgjengelige. Alle filtre som brukes på firmalisteskjemaet (forhåndsbygd eller ved behov), sendes og brukes på frmCompanyDetail når det åpnes.  

Hvis du vil sende filtre fra ett skjema til et annet, må du først rense filterstrengen for skjemaet slik at den bare inneholder feltnavn. Se på kodemodulen Open_frmCompanyDetail for en mer detaljert forklaring av hvordan dette gjøres, og i frmCompanyDetail på kommentarene for Form_Load for å se hvordan det brukes.

Vi sender filterinformasjonen til firmadetaljskjemaet via skjemaets OpenArgs-egenskap i stedet for å åpne skjemaet med en where-betingelse .  Du kan finne ut mer om OpenArgs her.


Vis/skjul felt

Velg Vis/skjul felt for å åpne en dialogboks med en liste over alle tilgjengelige felt. du kan merke av eller fjerne merket for én eller flere kolonner. Det valgte oppsettet beholdes fra én økt til en annen til en ny versjon av programmet distribueres. Se Vise eller skjule kolonner i et dataark. 

Opprett etiketter

Opprett etiketter-knappen åpner veiviseren for access-etikett. Mer informasjon om etikettveiviseren her: Opprette adresseetiketter i Access. 

Åpne firmadetalj

Dobbeltklikk hvor som helst i en detaljrad for å åpne frmCompanyDetail

Klikk på ID-feltet (konfigurert som en hyperkobling) eller dobbeltklikk på et annet felt i detaljraden for å åpne frmCompanyDetail for det valgte firmaet og sende et skjemafilter som ble brukt på firmalisten til frmCompanyDetail.

Firmadetalj - frmCompanyDetail

Ved første øyekast kan frmCompanyDetail se relativt enkelt ut.  Men det er det ikke.  Mye skjer i koden bak skjemaet!  Skjemaet uthever følgende handlinger og funksjoner:

  • Flere kommandoknapper og koblinger

    • Legg til firma

    • Send firmaliste via e-post

    • Vis filter

    • Slett firma

    • Åpne et kart basert på en adresse

    • Åpne et nettsted fra en hyperkobling

  • Avbryt eller Lagre handlinger i tilleggs-/redigeringsmodus

  • Forretningsregler som skal kontrolleres når en firmatype kan endres

  • Kontroll av referanseintegritet før slettingshendelsen
    '

Hendelsen Form_Load inneholder følgende handlinger:

  • Bruk flere parametere sendt til skjemaet via OpenArgs og den egendefinerte Northwind StringToDictionary-funksjonen

  • Bruk egenskapen OpenArgs-skjema til å la en bruker legge til et nytt firma mens en ordre utføres

  • Bruke GoToRecord-teknikken til å legge til et nytt firma

  • Bruk SearchForRecord-teknikken til å flytte til firmaet som er valgt på frmCompanyList

  • Alternativer for forgrening/betinget kjøring (se Form_Load hendelse)

    • Alternativ 1 – saksuttrykk

    • Alternativ 2 – nestet hvis ellers

    • Alternativ 3 – ElseIf

    • Alternativ 4 – Nestet hvis Ellers og ElseIf
      '

I Form_Current hendelse forekommer følgende: 

  • Endre en underskjematittel og kildeobjekt ved kjøretid ved å kalle opp sub ManageFormOptions(). Denne underrutinen kalles fra flere steder i dette skjemaet. 
    '

Avbryt eller Lagre handlinger når du er i legg til eller rediger-modus. 

Access-skjemaene våre er bundet.  Hva betyr dette?  Fra Microsoft:
«Et «bundet» skjema er et skjema som er direkte koblet til en datakilde, for eksempel en tabell eller spørring, og som kan brukes til å skrive inn, redigere eller vise data fra datakilden.»

Med bundne skjemaer krever ikke Access at du eksplisitt «lagrer» dataene.  Når du flytter fra én post til den neste, lagres dataene automatisk i Access.  Ofte fungerer det akkurat slik du vil ha det.  Men hva om en bruker må utføre en handling for å angi at de er klare til å lagre? 

Skjemaet frmCompanyDetail har for eksempel et underskjema for Kontakter (sfrmCompanyDetail_Contacts).  Så hva skjer hvis du begynner å legge til eller redigere firmadataene – la oss si telefonnummer – og ta en pause for å reparere en skrivefeil du legger merke til i informasjonen til en kontakt?  Som standard lagrer Access eventuelle endringer du har gjort i firmaoppføringen når du klikker på kontaktoppføringen, som ikke er det du ønsker. 

I dette skjemaet viser vi én måte å oppnå dette på med én enkelt post for et selskap.

Hva er årsaken til at du har Avbryt-knappen ? Escape-tasten avbryter alle innskrevne eller endrede (men ikke-lagrede) data i en kontroll i skjemaet. I denne tilstanden vises blyantikonet i postvelgeren (en grå loddrett strek helt til venstre på raden).

Når du klikker legg til firma-knappen , vil du imidlertid legge merke til at det ikke er noe blyantikon før du begynner å skrive inn data i den nye firmaposten. Hva om du ombestemmer deg om å legge til et nytt selskap nå? Hvis du trykker esc-tasten, skjer det ingenting fordi du ikke har skrevet inn noen data ennå. Derfor har vi avbryt-knappen.

Det fungerer alltid å klikke Avbryt-knappen . escape-tasten fungerer bare når du har skrevet inn eller endret data.  

Hvis du begynner å legge til eller endre data og deretter lukker skjemaet uten å klikke lagre eller avbryte, lagrer Access dataene som standard.  

Forretningsregel:
Som en Northwind-forretningsregel for firmaer vil vi at du eksplisitt skal angi at du vil lagre.  For å sikre dette må vi kontrollere om brukeren klikket lagre i Form_BeforeUpdate hendelsen, og hvis vedkommende ikke klikket lagre, ber du brukeren om å angi om de vil lagre eller avbryte endringene.
'

Endring av firmatype

Forretningsregel: Hvis et firma har eksisterende ordrer, innkjøpsordrer eller er en leverandør for et produkt, kan ikke brukeren endre firmatypen. Vi har opprettet en funksjon, CompanyIsActive(), for å avgjøre om noen av betingelsene ovenfor finnes. Hvis de gjør det, kan ikke brukeren endre firmatypen før disse referansene er oppklart (slettet). 

Denne regelen håndheves bare i dette skjemaet.  I et produksjonsklart program vil du ikke tillate brukere å endre data ved å åpne tabellen direkte.  I Northwind lar vi deg åpne tabellene og gjøre hva du vil.  Dette er en flott måte å lære på, men du kan også gjøre endringer som kan være i strid med reglene. 

Du bør alltid programmere defensivt. Planlegg for det uventede. Selv om firmaet for øyeblikket er en speditør, betyr det ikke at de ikke på et tidspunkt var en leverandør eller kunde. ID-en finnes kanskje i eldre poster i tabellene ProductVendor eller PurchaseOrder .
'

Egendefinert dialogboksskjema.

Hvis du vil vise resultatene, bruker cboCompanyTypeID_BeforeUpdate et dialogboksskjema, frmGenericDialog. Dette kan være et flott alternativ til standard meldingsboks når du har mye informasjon å vise. Den brukes også med ansattskjemaet til et lignende formål.
Slett

kontroll av referanseintegritet  

I Northwind Starter Edition lar vi Access-standardvirkemåten varsle deg om at et firma ikke kan slettes når det har relaterte poster.  

I Northwind Developer Edition varsler vi deg før slettingen, i stedet for å godta standard virkemåte for Access.  Vi gjør dette ved hjelp av samme funksjon som vi gjorde med Endre firmatype. function CompanyIsActive().

Forskjellen er at vi bare bryr oss om ordrer eller innkjøpsordrer. Hvis det ikke finnes noen ordrer eller kjøpsordrer, bekrefter vi intensjonen din om å slette, og vi sletter produktleverandøren og kontaktene hvis de finnes for deg. 

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!

×