Bruk av en spørring gjør det enklere å vise, legge til, slette eller endre data i Access-databasen. Noen andre årsaker til bruk av spørringer:
-
Finne bestemte hurtigdata ved å filtrere etter bestemte vilkår (betingelser)
-
Beregne eller summere data
-
Automatiser aktiviteter for databehandling, for eksempel å se gjennom de nyeste dataene regelmessig.
Obs!: Hvis du vil prøve spørringene i eksemplene, kan du bruke en Access-skrivebordsdatabase.
Spørringer hjelper deg med å finne og arbeide med dataene
I en godt utformet database er data som du vil presentere gjennom et skjema eller en rapport, vanligvis plassert i flere tabeller. En spørring kan hente informasjon fra ulike tabeller og sette den sammen slik at den vises i skjemaet eller rapporten. En spørring kan enten være en forespørsel om dataresultater fra databasen eller for handling på dataene, eller for begge deler. En spørring kan gi deg svar på et enkelt spørsmål, utføre beregninger, kombinere data fra forskjellige tabeller, legge til, endre eller slette data fra en database. Siden spørringer er så allsidige, finnes det mange typer spørringer, og du vil opprette en spørringstype basert på oppgaven.
Vanlige spørringstyper |
Bruk |
Velg |
Hente data fra en tabell og utføre beregninger. |
Handling |
Legg til, endre eller slett data. Hver aktivitet har en bestemt type redigeringsspørring. Redigeringsspørringer er ikke tilgjengelige i Access-nettapper. |
Opprette en utvalgsspørring
Hvis du vil se gjennom data bare fra bestemte felt i en tabell, eller se gjennom data fra flere tabeller samtidig eller kanskje bare se dataene basert på bestemte vilkår, ville en utvalgsspørringstype være ditt valg. Hvis du vil ha mer informasjon, kan du se opprette en enkel utvalgsspørring.
Se gjennom data fra utvalgte felt
Hvis databasen for eksempel har en tabell med mye informasjon om produkter og du vil se gjennom en liste over produkter og priser, kan du se hvordan du oppretter en utvalgsspørring her for å returnere bare produktnavnene og den respektive prisen:
-
Åpne databasen, og klikk Spørringsutforming på Opprett-fanen.
-
Dobbeltklikk Produkter-tabellen på Tabeller-fanen.
-
La oss si at du har feltene Produktnavn og Listepris i Produkter-tabellen. Dobbeltklikk produktnavnet og listeprisenfor å legge til disse feltene i utformingsrutenett.
-
Klikk Kjør påUtforming-fanen. Spørringen kjører og viser en liste over produkter og priser.
Se gjennom data fra flere relaterte tabeller samtidig
Hvis du for eksempel har en database for en butikk som selger matelementer, og du vil se gjennom ordrer for kunder som bor i en bestemt by. La oss si at dataene om ordrer og data om kunder er lagret i to tabeller kalt henholdsvis Kunder og Ordrer. Hvis hver tabell har et kunde-ID-felt, som utgjør grunnlaget for en én-til-mange-relasjon mellom de to tabellene. Du kan opprette en spørring som returnerer ordrer for kunder i en bestemt by, for eksempel Las Vegas, ved hjelp av følgende fremgangsmåte:
-
Åpne databasen. Klikk Spørringsutforming i Spørring-gruppen på fanen Opprett.
-
Dobbeltklikk Kunder og Ordrer på Tabeller-fanen.
Legg merke til linjen (kalt en sammenføyning) som kobler ID-feltet i kunder-tabellen og feltet Kunde-ID i Ordre-tabellen. Denne linjen viser relasjonen mellom de to tabellene.
-
Dobbeltklikk Firma og Poststed i Kunder-tabellen for å legge til disse feltene i utformingsrutenettet for spørringen.
-
Fjern merket for Vis rad i Vis-raden i utformingsrutenettet for spørringen i kolonnen By.
-
Skriv inn Oslo i Vilkår-radeniBy-kolonnen.
Hvis du fjerner merket for Vis, kan ikke spørringen vise byen i resultatene, og hvis du skriver inn Oslo i Vilkår-raden, er det angitt at du bare vil se poster der verdien til By-feltet er Oslo. I dette tilfellet returnerer spørringen bare kunder som er plassert i Las Vegas. Du trenger ikke å vise et felt for å bruke det med et vilkår.
-
Dobbeltklikk Ordre-ID og Ordredato i Ordre-tabellen for å legge til disse feltene i de neste to kolonnene i utformingsrutenettet for spørringen.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen. Spørringen kjører, og viser deretter en liste over ordrer for kunder i Las Vegas.
-
Trykk CTRL+S for å lagre spørringen.
Opprett en parameterspørring
Hvis du ofte vil kjøre varianter av en bestemt spørring, kan du vurdere å bruke en parameterspørring. Når du kjører en parameterspørring, spør spørringen deg om feltverdier, og bruker deretter verdiene du oppgir, for å opprette vilkår for spørringen.
Obs!: Du kan ikke opprette en parameterspørring i en Access-nettapp.
Hvis du fortsetter fra det forrige eksemplet der du lærte å opprette en utvalgsspørring som returnerer ordrer for kunder i Oslo, kan du endre utvalgsspørringen slik at du blir bedt om å angi by hver gang du kjører spørringen. Hvis du vil følge med, åpner du databasen som du opprettet i forrige eksempel:
-
Høyreklikk på spørringen Ordrer etter poststed (som du opprettet i forrige del), i navigasjonsruten, og klikk deretter på Utformingsvisning på hurtigmenyen.
-
Slett Oslo i Vilkår-raden i bykolonnen i utformingsrutenettetfor spørringen, og skriv deretter inn [For hvilken by?].
Strengen [For hvilken by?] er parameterledeteksten. Hakeparentesene angir at du vil at spørringen skal be om inndata, og teksten (i dette tilfellet For hvilken by?) er spørsmålet som parameterledeteksten viser.
Obs!: Ingen punktum (.) eller utropstegn(!)kan brukes som tekst i en parameterledetekst.
-
Merk av i avmerkingsboksen i Vis-raden i By-kolonnen, slik at spørringsresultatene vil vise poststed.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen. Spørringen ber deg om å angi en verdi for By.
-
Skriv inn New York,og trykk deretter ENTER for å se ordrer for kunder i New York.
Hva om du ikke vet hvilke verdier du kan angi? Du kan bruke jokertegn som en del av ledeteksten:
-
Klikk på Visning i Visninger-gruppen på Hjem-fanen, og klikk deretter på Utformingsvisning.
-
Skriv inn Like [For hvilken by?] i Vilkår-raden i bykolonnen i utformingsrutenettet for spørringen &"*".
I denne parameterledeteksten tillater nøkkelordet Like, ampersand (&) og stjernen(*)i anførselstegn at brukeren kan skrive inn en kombinasjon av tegn, inkludert jokertegn, for å returnere en rekke resultater. Hvis brukeren for eksempel skriver *, returnerer spørringen alle byer. Hvis brukeren skriver L,returnerer spørringen alle byer som begynner med bokstaven "L;", og hvis brukeren skriver *s*, returnerer spørringen alle byer som inneholder bokstaven "s".
-
Klikk Kjør i Resultater-gruppen i kategorien Utforming,og skriv inn Nyi ledeteksten, og trykk ENTER.
Spørringen kjører, og viser deretter ordrer for kunder i New York.
Angi datatyper for parametere
Du kan også angi hvilken type data en parameter skal godta. Du kan angi datatypen for en parameter, men det er spesielt viktig å angi datatypen for numeriske verdier, valuta eller dato/klokkeslett. Når du angir datatypen parameteren skal godta, får brukerne en mer nyttig feilmelding hvis de skriver inn feil type data, som for eksempel hvis de skriver inn tekst når det skal være valuta.
Hvis det er angitt at en parameter skal godta tekstdata, tolkes alt som skrives inn, som tekst, og det vises ingen feilmelding.
Bruk følgende fremgangsmåte for å angi datatypen for parametere i en spørring:
-
Åpne spørringen i utformingsvisning, og klikk Parametere i Vis/skjul-gruppen i kategorien Utforming.
-
Skriv inn spørsmålet for hver enkelt parameter du vil angi en datatype for, i Parameter-kolonnen i dialogboksen Spørringsparametere. Pass på at hver parameter samsvarer med spørsmålet du bruker i Vilkår-raden i utformingsrutenettet for spørringen.
-
Velg en datatype for hver parameter i Datatype-kolonnen.
Hvis du vil ha mer informasjon, kan du se hvordan du bruker parametere til å be om inndata når du kjører en spørring.
Opprette en totalsumspørring
Totalraden i et dataark er svært nyttig, men for mer komplekse spørsmål bruker du en totalspørring. En totalsumspørring er en utvalgsspørring som lar deg gruppere og summere data, for eksempel når du vil se totalt salg per produkt. I en totalverdispørring kan du bruke Summer-funksjonen (en mengdefunksjon) for å se totalt salg per produkt.
Obs!: Du kan ikke bruke mengdefunksjoner i en Access-nettapp.
Bruk følgende fremgangsmåte til å endre spørringen for produktdelsummer som du opprettet i forrige eksempel, slik at den oppsummerer produktdelsummer etter produkt.
-
Klikk Vis > Utformingsvisning på Hjem-fanen.
Spørringen Produktdelsummer åpnes i utformingsvisning.
-
Klikk Totaler i Vis/skjul-gruppen på Utforming-fanen.
Totaler-raden vises i utformingsrutenettet for spørringen.
Obs!: Selv om de har lignende navn, er ikke Totaler-raden i utformingsrutenettet og Totaler-raden i et dataark den samme:
-
Du kan gruppere etter feltverdier ved hjelp av Totaler-raden i utformingsrutenettet.
-
Du kan legge til en totalrad i dataarket i resultatene av en totalspørring.
-
Når du bruker Totaler-raden i utformingsrutenettet, må du velge en mengdefunksjon for hvert felt. Hvis du ikke vil utføre en beregning på et felt, kan du gruppere etter feltet.
-
Velg Summer fra rullegardinlisten i den andre kolonnen i utformingsrutenettet, i Total-raden.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen. Spørringen kjører, og viser deretter en liste over produkter med delsummer.
-
Trykk CTRL+S for å lagre spørringen. La spørringen være åpen.
Hvis du vil ha mer informasjon, kan du se Vise kolonnetotaler i et dataark ved hjelp av en Totaler-rad.
Utføre beregninger basert på dataene
Vanligvis ville du ikke brukt tabeller til å lagre beregnede verdier, for eksempel delsummer, selv om de er basert på data i samme database, fordi beregnede verdier kan bli utdatert hvis verdiene de er basert på endringer. Du vil for eksempel ikke lagre noens alder i en tabell, fordi hvert år må du oppdatere verdien. i stedet lagrer du personens fødselsdato, og deretter bruker du en spørring til å beregne personens alder.
Hvis du for eksempel har en database for noen produkter du vil selge. Denne databasen har en tabell kalt Ordredetaljer som har informasjon om produktene i felt, for eksempel pris på hvert produkt og antall. Du kan beregne delsummen ved å bruke en spørring som multipliserer antallet av hvert produkt med enhetsprisen for dette produktet, multipliserer antallet for hvert produkt med enhetsprisen og rabatten for produktet, og trekker deretter den totale rabatten fra total enhetsprisen. Hvis du opprettet eksempeldatabasen i forrige eksempel, åpner du den og følger med:
-
Klikk Spørringsutforming på Opprett-fanen.
-
Dobbeltklikk Ordredetaljer på Tabeller-fanen.
-
Dobbeltklikk Produkt-ID i Ordredetaljer-tabellen for å legge til dette feltet i den første kolonnen i utformingsrutenettet for spørringen.
-
Høyreklikk Felt-raden i den andre kolonnen i rutenettet, og klikk deretter Zoom på hurtigmenyen.
-
Skriv eller lim inn følgende i Zoom-boksen:Delsum: ([Antall]*[Enhetspris])-([Antall]*[Enhetspris]*[Rabatt])
-
Klikk OK.
-
Klikk Kjør påUtforming-fanen. Spørringen kjører, og viser deretter en liste over produkter og delsummer, per ordre.
-
Trykk CTRL+S for å lagre spørringen, og gi deretter navn til spørringen Produktdelsummer.
Hvis du vil ha mer informasjon, kan du se Vise kolonnetotaler i et dataark ved hjelp av en Totaler-rad.
Vise summerte eller aggregerte data
Når du bruker tabeller til å registrere transaksjoner eller lagre numeriske data som forekommer regelmessig, er det nyttig å kunne se gjennom disse dataene samlet, for eksempel summer eller gjennomsnitt. I Access kan du legge til en Totaler-rad i en dataark. Totalrad er en rad nederst i dataarket som kan vise en løpende totalsum eller en annen mengdeverdi.
-
Kjør spørringen produktdelsummer du opprettet tidligere, og la resultatene være åpne i dataarkvisning.
-
Klikk Totaler på Hjem-fanen. En ny rad vises nederst i dataarket med ordet Total i den første kolonnen.
-
Klikk cellen i den siste raden i dataarket kalt Total.
-
Klikk pilen for å vise de tilgjengelige mengdefunksjonene. Fordi kolonnen inneholder tekstdata, er det bare to valg: Ingen og Antall.
-
Velg Antall. Innholdet i cellen endres fra Total til antallet kolonneverdier.
-
Klikk den tilstøtende cellen (den andre kolonnen). Legg merke til at det vises en pil i cellen.
-
Klikk pilen, og klikk deretter Summer. Feltet viser en sum av kolonneverdiene.
-
La spørringen være åpen i dataarkvisning.
Opprette en krysstabellspørring
Anta nå at du vil se gjennom produktdelsummer, men du vil også aggregere etter måned, slik at hver rad viser delsummer for et produkt, og hver kolonne viser produktdelsummer for en måned. Hvis du vil vise delsummer for et produkt og vise produktdelsummer for en måned, bruker du en krysstabellspørring.
Obs!: En krysstabellspørring kan ikke vises i en Access-nettapp.
Du kan endre spørringen Produktdelsummer på nytt slik at spørringen returnerer rader med produktdelsummer og kolonner med månedlige delsummer.
-
Klikk på Visning i Visninger-gruppen på Hjem-fanen, og klikk deretter på Utformingsvisning.
-
Klikk Legg til tabeller (eller Vis tabell i Access 2013 ) i spørringsoppsettgruppen.
-
Dobbeltklikk Ordrer,og klikk deretter Lukk.
-
Klikk på Krysstabell i Spørringstype-gruppen på Utforming-fanen. Vis-raden er skjult i utformingsrutenettet, og krysstabellraden vises.
-
Høyreklikk feltraden i den tredje kolonnen i utformingsrutenettet, og klikk deretter Zoom på hurtigmenyen. Zoom-boksen åpnes.
-
Skriv eller lim inn følgende i Zoom-boksen: Måned: «Måned » & DatePart("m"; [Ordredato])
-
Klikk OK.
-
Velg følgende verdier fra rullegardinlisten i krysstabellraden: Radoverskrift for første kolonne, Verdi for den andre kolonnen og Kolonneoverskrift for den tredje kolonnen.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen. Spørringen kjører, og viser deretter produktdelsummer, aggregert etter måned.
-
Trykk CTRL+S for å lagre spørringen.
Hvis du vil ha mer informasjon om krysstabellspørringer, kan du se Gjøre sammendragsdata enklere å lese ved hjelp av en krysstabellspørring.
Opprette en lag tabell-spørring
Du kan bruke en lag-tabell-spørring til å opprette en ny tabell fra data som er lagret i andre tabeller.
Obs!: En lag-tabell-spørring er ikke tilgjengelig i Access-nettapper.
Anta for eksempel at du vil sende data for Chicago-ordrer til en forretningspartner i Chicago som bruker Access til å klargjøre rapporter. I stedet for å sende alle ordredataene, vil du begrense dataene du sender til data spesifikke til Chicago-ordrer.
Du kan bygge en utvalgsspørring som inneholder ordredata fra Chicago, og deretter bruke utvalgsspørringen til å opprette den nye tabellen ved hjelp av følgende fremgangsmåte:
-
Åpne eksempeldatabasen fra forrige eksempel.
Hvis du vil kjøre en lag-tabell-spørring, må du kanskje aktivere innholdet i databasen.
Obs!: Hvis du ser en melding under båndet om å aktivere databasen, klikker du Aktiver innhold.Hvis databasen allerede er på en klarert plassering, vil du ikke se meldingsfeltet.
-
Klikk Spørringsutforming i Spørring-gruppen på fanen Opprett.
-
Dobbeltklikk på Ordredetaljer og Ordrer.
-
Dobbeltklikk Kunde-ID og Lever poststed i Ordrer-tabellen for å legge til disse feltene i utformingsrutenettet.
-
Dobbeltklikk Ordre-ID, Produkt-ID,Antall,Enhetspris og Rabatt i Ordredetaljer-tabellen for å legge til disse feltene i utformingsrutenettet.
-
Fjern merket for Vis-raden i kolonnen Lever poststed i utformingsrutenettet. Skriv inn Chicago i Vilkår-raden (inkluder enkle anførselstegn). Kontroller spørringsresultatene før du bruker dem til å opprette tabellen.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen.
-
Trykk CTRL+S for å lagre spørringen.
-
Skriv inn spørringsspørringen for Chicago i spørringsnavnboksen, og klikk deretter OK.
-
Klikk på Visning i Visninger-gruppen på Hjem-fanen, og klikk deretter på Utformingsvisning.
-
Klikk Lag tabell i Spørringstype-gruppen på fanen Utforming.
-
Skriv inn Chicago-ordrer i Tabellnavn-boksen i dialogboksen Lag tabell,og klikk deretter OK.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen.
-
Klikk Ja i bekreftelsesdialogboksen,og se den nye tabellen som vises i navigasjonsruten.
Obs!: Hvis det allerede finnes en tabell med samme navn som du har angitt, sletter Access denne tabellen før du kjører spørringen.
Hvis du vil ha mer informasjon om hvordan du bruker lag tabell-spørringer, kan du se Opprette en lag tabell-spørring.
Opprette en tilføyingsspørring
Du kan bruke en tilføyingsspørring til å hente data fra én eller flere tabeller og legge til dataene i en annen tabell.
Obs!: Tilføyingsspørring er ikke tilgjengelig i Access-nettapper.
Anta for eksempel at du har opprettet en tabell for å dele med en forretningsforbindelse i Chicago, men du forstår at forbindelsen også fungerer med klienter i Milwaukee-området. Du vil legge til rader som inneholder Milwaukee-områdedata, i tabellen før du deler tabellen med kollegaen din. Du kan legge til milwaukee-områdedata i ordretabellen i Chicago ved å bruke følgende fremgangsmåte:
-
Åpne spørringen «Spørring for Chicago-ordrer» som du opprettet tidligere i utformingsvisning.
-
Klikk kategorien Utforming, velg Vis/skjul-gruppen og klikk Tilføying. Dialogboksen Tilføy åpnes.
-
Klikk pilen i Tabellnavn-boksen i dialogboksen Tilføy, velg Chicago-ordrer fra rullegardinlisten, og klikk deretter OK.
-
Slett Chicago i Vilkår-raden i Vilkår-raden i utformingsrutenettet, og skriv deretter inn Milwaukee.
-
Merk det aktuelle feltet for hver kolonne i Tilføy til-raden.
I dette eksemplet skal Verdiene i Tilføy til-raden samsvare med feltradverdiene, men dette er ikke nødvendig for at tilføyingsspørringer skal fungere.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen.
Obs!: Når du kjører en spørring som returnerer en stor mengde data, kan det hende du får en feilmelding om at du ikke kan angre spørringen. Prøv å øke grensen for minnesegmentet til 3 MB slik at spørringen kan utføres.
Hvis du vil ha mer informasjon om tilføyingsspørringer, kan du se Legge til poster i en tabell ved å bruke en tilføyingsspørring.
Opprette en oppdateringsspørring
Du kan bruke en oppdateringsspørring til å endre dataene i tabellene, og du kan bruke en oppdateringsspørring til å angi vilkår for å angi hvilke rader som skal oppdateres. En oppdateringsspørring gir deg muligheten til å se gjennom de oppdaterte dataene før du utfører oppdateringen.
Viktig!: En redigeringsspørring kan ikke angres. Du bør vurdere å ta en sikkerhetskopi av alle tabeller som du vil oppdatere, ved hjelp av en oppdateringsspørring. En oppdateringsspørring er ikke tilgjengelig i Access-nettapper.
I det forrige eksemplet la du til rader i tabellen Chicago Orders. I tabellen Chicago-ordrer viser Produkt-ID-feltet den numeriske produkt-ID-en. Hvis du vil gjøre dataene mer nyttige i rapporter, kan du erstatte produkt-IDer med produktnavn ved å bruke følgende fremgangsmåte:
-
Åpne tabellen Chicago-ordrer i utformingsvisning.
-
Endre datatypen fra Tall til Tekst i Produkt-ID-raden.
-
Lagre og lukk ordretabellen i Chicago.
-
Klikk Spørringsutforming i Spørring-gruppen på fanen Opprett.
-
Dobbeltklikk ordrer og produkter fra Chicago.
-
Klikk Oppdater i Spørringstype-gruppen i kategorien Utforming.
-
I utformingsrutenettet forsvinner radene Sorterog Vis, og Oppdater til-raden vises.
-
Dobbeltklikk Produkt-ID i ordretabellen i Chicago for å legge til dette feltet i utformingsrutenettet.
-
Skriv eller lim inn følgende: [Produkter] i Oppdater til-raden i kolonnen Produkt-ID i utformingsrutenettet. Produktnavn]
Tips!: Du kan bruke en oppdateringsspørring til å slette feltverdier ved hjelp av en tom streng («») eller NULL i Oppdater til-raden.
-
Skriv eller lim inn følgende i Vilkår-raden: [Produkt-ID] Lik ([Produkter].[ ID])
-
Du kan se gjennom hvilke verdier som skal endres av en oppdateringsspørring, ved å vise spørringen i dataarkvisning.
-
Klikk Vis dataarkvisningpå > Utforming-fanen. Spørringen returnerer en liste over produkt-IDer som skal oppdateres.
-
Klikk Kjør påUtforming-fanen.
Når du åpner ordretabellen i Chicago, ser du at de numeriske verdiene i Produkt-ID-feltet er erstattet med produktnavnene fra Produkter-tabellen.
Hvis du vil ha mer informasjon om oppdateringsspørringer, kan du se Opprette og kjøre en oppdateringsspørring.
Opprette en slettespørring
Du kan bruke en slettespørring til å slette data fra tabellene, og du kan bruke en slettespørring til å angi vilkår for å angi hvilke rader som skal slettes. En slettespørring gir deg muligheten til å se gjennom radene som skal slettes, før du utfører slettingen.
Obs!: Et alternativ for slettespørring er ikke tilgjengelig i Access-nettapper.
La oss for eksempel si at når du forbereder sending av tabellen Chicago-ordrer fra det forrige eksemplet til forretningsforbindelsen i Chicago, legger du merke til at noen av radene inneholder en rekke tomme felt. Du bestemte deg for å fjerne disse radene før du sender tabellen. Du kan bare åpne tabellen og slette radene manuelt, men hvis du har mange rader å slette, og du har klare vilkår for hvilke rader som skal slettes, kan det være nyttig å bruke en slettespørring.
Du kan bruke en spørring til å slette rader i tabellen Chicago Orders som ikke har en verdi for Ordre-ID ved å bruke følgende fremgangsmåte:
-
Klikk Spørringsutforming i kategorien Opprett.
-
Dobbeltklikk Chicago Orders.
-
Klikk Slett i Spørringstype-gruppen på Utforming-fanen. I utformingsrutenettet forsvinner radene Sorter og Vis, og Slett-raden vises.
-
Dobbeltklikk Ordre-ID i ordretabellen i Chicago for å legge den til i rutenettet.
-
Skriv inn Er null i Vilkår-raden i Ordre-ID-kolonnen i utformingsrutenettet.
-
Klikk på Kjør i Resultater-gruppen på Utforming-fanen.
Hvis du vil ha mer informasjon om slettespørringer, kan du se Opprette og kjøre en slettespørring.