Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Når du vil at en spørring i Access skal be om inndata hver gang du kjører den, kan du opprette en parameterspørring.

Du kan også opprette et skjema for å samle parameterverdier som skal brukes til å begrense poster som returneres for spørringer, skjemaer og rapporter. Denne artikkelen forklarer hvordan du bruker skjemaer til å forbedre bruken av parametere i spørringer, skjemaer og rapporter.

I denne artikkelen

Oversikt

Du kan bruke vilkår i en parameterspørring i Access til å begrense settet med poster som spørringen returnerer. Det kan hende du synes dialogboksene som angis av en parameterspørring, er utilstrekkelige for ditt formål. I slike tilfeller kan du opprette et skjema som bedre tilfredsstiller behovene for parametersamling. Denne artikkelen forklarer hvordan du oppretter et skjema som samler spørrings- og rapportparametere. Denne artikkelen forutsetter at du er kjent med hvordan du oppretter spørringer og hvordan du definerer parametere i spørringer. Et minimumskrav før du fortsetter, er at du kjenner til hvordan du oppretter en utvalgsspørring.

Denne artikkelen gir eksempler på bruk av parametere i spørringer. Den er ikke et omfattende referansemateriale om å angi vilkår.

Bruke parametere i spørringer

Bruk av en parameter i en spørring er like enkelt som å opprette en spørring som bruker vilkår. Du kan utforme en spørring til å be deg om én opplysning, som for eksempel et delenummer, eller flere opplysninger, for eksempel to datoer. En parameterspørring viser en egen dialogboks for hver parameter, som ber deg om en verdi for denne parameteren.

Legge til en parameter i en spørring

  1. Opprett en utvalgsspørring, og åpne deretter spørringen i utformingsvisning.

  2. Hvis du går til Vilkår-raden i feltet der du vil bruke parameteren, kan du skrive inn teksten du vil at dialogboksen for parametere skal vise, omsluttet av hakeparenteser, for eksempel:

    [Startdato]

    Når du kjører parameterspørringen, vises meldingen i dialogboksen, uten hakeparentesene.

    Du kan også bruke et uttrykk med parametermeldingene, for eksempel:

    Mellom [Startdato] og [Sluttdato]

    Obs!: En egen dialogboks vises for hver parametermelding. I det andre eksemplet vises to dialogbokser: én for startdatoen og én for sluttdatoen.

  3. Gjenta trinn 2 for hvert felt hvor du vil legge til en parameter.

Du kan bruke de foregående trinnene til å legge til en parameter i en av de følgende spørringstypene: Velg Krysstabell, Tilføy, Lag tabell, eller Oppdatering.

Du kan også legge til en parameter i en unionsspørring ved å følge disse trinnene:

  1. Åpne unionsspørringen i SQL-visning.

  2. Legg til en WHERE-setning som inneholder hvert av feltene der du vil be om en parameter.

    Hvis det allerede finnes en WHERE-setning, kan du sjekke om feltene hvor du vil legge til parametermeldingen, allerede finnes i setningen. Hvis de ikke gjør det, legger du dem til.

  3. I stedet for å bruke et vilkår i WHERE-setningen, kan du bruke en parametermelding.

Angi datatyper for parametere

Du kan også angi hvilken datatype en parameter skal godta. Du kan angi en datatype for alle parametere, men det er spesielt viktig å angi datatypen for numeriske, valuta- og dato/klokkeslett-data. 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.

Obs!: Hvis en parameter er konfigurert til å godta tekstdata, tolkes all inndata som tekst, og det vises ingen feilmelding.

Følg disse stegene for å angi datatypene for parameterne i en spørring:

  1. Åpne spørringen i utformingsvisning, og klikk Parametere i Vis/skjul-gruppen i kategorien Utforming.

  2. 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.

  3. Velg en datatype for hver parameter i Datatype-kolonnen.

Opprette et skjema som samler parametere

Selv om parameterspørringer har en innebygd dialogboks som samler parametere, gir de bare grunnleggende funksjonalitet. Hvis du bruker et skjema for å samle parametere, kan du få følgende funksjoner:

  • Muligheten til å bruke datatype-spesifikke kontroller, som for eksempel kalenderkontroller for datoer.

  • Vedvarende samlede parametere du kan bruke i mer enn én spørring.

  • Muligheten til å lage en kombinasjonsboks eller en liste for parametersamling, som lar deg velge fra en liste over tilgjengelige dataverdier.

  • Muligheten til å lage kontroller for andre funksjoner, for eksempel åpne eller oppdatere en spørring.

Følgende video viser hvordan du kan opprette et enkelt skjema for å samle parametere for en spørring i stedet for å bruke dialogboksene som vanligvis er tilknyttet parameterspørringer.

Nettleseren støtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Opprette et skjema som samler parametere til en rapport

Det finnes en rekke måter å tilnærme seg dette scenariet på, men vi viser bare én teknikk, der vi hovedsakelig bruker makroer. Følg disse trinnene for å opprette et skjema som samler parametere til en rapport.

Trinn 1: Opprett et skjema som godtar inndata

  1. Klikk på Skjemautforming, i Skjemaer-gruppen på Opprett-fanen.

  2. Trykk på F4 for å vise egenskapsarket, og angi skjemaegenskaper som vist i tabellen nedenfor.

    Egenskap

    Innstilling

    Tittel

    Skriv inn navnet du vil skal vises i tittellinjen i skjemaet.

    Standardvisning

    Enkeltskjema

    Tillat skjemavisning

    Ja

    Tillat dataarkvisning

    Nei

    Tillat pivottabellvisning

    Nei

    Tillat pivotdiagramvisning

    Nei

    Rullefelt

    Ingen

    Postvelgere

    Nei

    Navigasjonsknapper

    Nei

    Kantlinjestil

    Dialogboks

  3. Klikk på Tekstboks i Kontroller-gruppen på Utforming-fanen for hver parameter du vil at skjemaet skal hente.

  4. Angi egenskapene til tekstboksene, som vist i tabellen nedenfor.

    Egenskap

    Innstilling

    Navn

    Skriv inn et navn som beskriver parameteren, for eksempel Startdato.

    Format

    Velg et format som gjenspeiler datatypen for parameterfeltet. Velg for eksempel Generell Dato for et datofelt.

  5. Lagre skjemaet, og gi det et navn, for eksempel frmVilkår.

Trinn 2: Opprett en kodemodul, som sjekker om parameterskjemaet allerede er lastet inn

  1. Klikk på Modul i Makroer og kode-gruppen på Opprett-fanen. 

    En ny modul åpnes i Visual Basic Editor.

  2. Skriv eller lim inn følgende kode i Visual Basic Editor:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
      If oAccessObject.CurrentView <> acCurViewDesign Then
        IsLoaded = True
      End If
    End If
    End Function
    
  3. Lagre modulen med et unikt navn, og lukk deretter Visual Basic Editor.

Trinn 3: Opprett en makro som kontrollerer skjema og rapport

Når vi bruker delmakrofunksjonene i Access-makroer, kan vi definere alle de nødvendige trinnene vi må utføre i en enkelt makro. Vi oppretter fire delmakroer – Åpne dialogboks, Lukke dialogboks, OK, og Avbryt – for å styre de forskjellige oppgavene som kreves for denne prosedyren. Hvis du bruker skjermbildet nedenfor som en veiledning, kan du opprette en ny makro med følgende delmakroer og handlinger. Merk at i dette eksemplet heter parameterskjemaet frmVilkår. Juster makroen, så den har samme navn som på skjemaet du opprettet tidligere. Du må også passe på å klikke på Vis alle handlingerUtforming-fanen for å kunne vise alle makrohandlinger.

Skjermbilde av en Access-makro med fire delmakroer og handlinger.

Lagre og lukk makroen. Gi makroen et navn, som for eksempel Datointervall for makro.

Trinn 4: Legg til kommandoknappene OK og Avbryt i skjemaet

  1. Åpne på nytt parameterskjemaet du opprettet tidligere i Uformingsvisning.

  2. Forsikre deg om at Bruk kontrollveivisere i Kontroller-gruppen på Utforming-fanen ikke er valgt.

  3. Klikk på Knapp i Kontroller-gruppen på Utforming-fanen.

  4. Plasser pekeren nedenfor tekstboksene i skjemaet, og dra deretter for å opprette en kommandoknapp for OK.

  5. Hvis egenskapsarket ikke er synlig, kan du trykke på F4 for å vise det.

  6. Angi egenskapene til OK-knappen, som vist i tabellen nedenfor.

    Egenskap

    Innstilling

    Navn

    OK

    Tittel

    OK

    Standard

    Ja

    VedKlikk

    Skriv inn navnet på makroen, for eksempel Datointervall for makro.OK.

  7. Opprett en kommandoknapp for Avbryt, og angi egenskapene, som vist i tabellen nedenfor.

    Egenskap

    Innstilling

    Navn

    Avbryt

    Tittel

    Avbryt

    VedKlikk

    Skriv inn navnet på makroen, for eksempel Datointervall for makro.Avbryt.

  8. Lagre og lukk skjemaet.

Trinn 5: Bruk skjemadataene som spørringsvilkår

  1. Åpne spørringen du opprettet tidligere, på nytt i Uformingsvisning.

  2. Angi vilkårene for dataene. Bruk Skjemaer-objektet, navnet på skjemaet og navnet på kontroll:

    • Du bruker for eksempel følgende uttrykk i en Access-database (.accdb eller .mdb), for et skjema som heter frmVilkår, når du skal referere til kontroller med navnet Startdato og Sluttdato i spørringen:

      Mellom [Skjemaer]![frmVilkår]![Startdato] Og [Skjemaer]![frmVilkår]![Sluttdato]

Trinn 6: Legg til makrohandlinger i rapporthendelsene

  1. Åpne rapporten du ønsker å bruke i Utformingsvisning.

  2. Hvis egenskapsarket ikke er synlig, kan du trykke på F4 for å vise det.

  3. Kontroller at rapportens Postkilde-egenskap bruker parameterspørringen du definerte tidligere.

  4. Angi disse to ekstra rapportegenskapene, som vist i tabellen nedenfor.

    Egenskap

    Innstilling

    VedÅpning

    Skriv inn navnet på makroen, for eksempel Datointervall for makro.Åpne dialogboks.

    VedLukking

    Skriv inn navnet på makroen, for eksempel Datointervall for makro.Lukke dialogboks.

    Access kjører handlingene som er definert i Åpne dialogboks-delmakroen for makroobjektet for datointervall, i hendelsen Åpning, i rapporten. Når du lukker rapporten, vil Access på samme måte kjøre handlingene definert i Lukke dialogboks-delmakroen for makroobjektet for datointervall.

  5. Lagre og lukk rapporten.

Trinn 7: Prøv det ut

Nå som du har opprettet alle Access-objektene, er det på tide å prøve det ut. Åpne rapporten i Rapportvisning eller Forhåndsvisning, og legg merke til at før Access viser rapporten, åpnes parameterskjemaet i dialogboksmodus. Angi nødvendige vilkår i tekstboksene du opprettet tidligere, og klikk deretter på OK-kommandoknappen i skjemaet. Access skjuler deretter skjemaet (Synlig = Nei) og åpner rapporten med bare data som samsvarer med vilkårene dine. Dette fungerer fordi parameterspørringen som rapporten er basert på, kan lese verdiene i kontrollene i det skjulte skjemaet. Når du lukker rapporten, vil Access også lukke parameterskjemaet.

Øverst på siden

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.