Bruge parametre i forespørgsler og rapporter

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Når du vil have en forespørgsel til at spørge om input, hver gang du kører den, kan du oprette en parameterforespørgsel.

Du kan også oprette en formular til indsamling af parameterværdier. Ved at bruge en formular kan du:

  • Bruge datatypespecifikke kontrolelementer

  • Aktivere vedvarende parameterværdier

  • Angive kontrolelementer for kombinationsbokse (så du kan plukke en værdi fra en liste i stedet for at skrive den)

  • Bruge andre kontrolelementer, der er tilgængelige i formularer

Denne artikel giver en oversigt over parametre og forklarer, hvordan du kan bruge parametre i forespørgsler, og hvordan du kan bruge formularer til at opnå bedre udnyttelse af parametre.

Denne artikel indeholder

Oversigt

Bruge parametre i forespørgsler

Angive parameterdatatyper

Oprette en formular, der indsamler parametre

Oversigt

Du kan bruge kriterier i en forespørgsel i Access for at begrænse det postsæt, som forespørgslen returnerer. Se nærmere på følgende scenario.

Antag, at du har en forespørgsel med navnet Seneste ordre, der returnerer navnene og adresserne på dine kunder sammen med den dato, hvor du leverede deres seneste ordre. Du har for nylig tilføjet nogle nye produkter i jeres lager og katalog. Hver gang du leverer en ordre, kan du medsende det aktuelle katalog. Du forventer, at de nye produkter bliver meget populære, så du vil sikre dig, at alle kunderne kender til dem. Du vil sende et nyt katalog til alle de kunder, der ikke allerede har modtaget det i en levering.

Du skal derfor oprette en adresseliste med navne og adresser på de kunder, hvis seneste ordre blev leveret, før det nye katalog var klar. Til det formål skal du anvende et kriterium på leveringsdatofeltet i forespørgslen Seneste ordre. Kriteriet angiver, at datoen i leveringsdatofeltet skal falde før den dato, hvor du begyndte at distribuere det nye katalog, f.eks. 31-3-2006. Når du kører forespørgslen, får du en adresseliste, der kun indeholder de kunder, som endnu ikke har modtaget det nye katalog.

Hvis situationen gentager sig, kan du ændre designet af forespørgslen ved at ændre den værdi, der er angivet i kriteriet, men du kan også få forespørgslen til at bede dig om en dato, som bruges til at fastlægge, hvilke kunder der skal medtages på adresselisten. Du kan få forespørgslen til at gøre dette ved hjælp af et særligt kriterium, der kaldes for en parameter.

Det er ikke sikkert, at de dialogbokse, som parameterforespørgslen viser, er tilstrækkelige til dit formål. I så fald kan du oprette en formular, der bedre kan opfylde dit behov for parameterindsamling. I denne artikel forklares, hvordan du kan oprette en formular, der indsamler rapportparametre.

I denne artikel antages det, at du har kendskab til oprettelse af forespørgsler. Du bør som minimum vide, hvordan du kan oprette en udvælgelsesforespørgsel, før du fortsætter.

Du kan finde flere oplysninger om at oprette en udvælgelsesforespørgsel, i artiklen vælge data ved hjælp af en forespørgsel. Generelt kan finde flere oplysninger om forespørgsler i artiklen Introduktion til forespørgsler.

Denne artikel indeholder eksempler på brugen af parametre i forespørgsler. Den indeholder ingen omfattende beskrivelse af, hvordan kriterier kan angives.

Du kan finde flere oplysninger om angivelse af kriterier i artiklen Eksempler på forespørgselskriterier.

Toppen af siden

Bruge parametre i forespørgsler

Det er lige så nemt at bruge en parameter i en forespørgsel som at oprette en forespørgsel, der bruger kriterier. Du kan designe en forespørgsel, der beder dig om at angive oplysninger om f.eks. artikelnummer eller to datoer. For hver parameter viser en parameterforespørgsel en separat dialogboks, hvor du skal angive en værdi til parameteren.

Føje en parameter til en forespørgsel

  1. Opret en udvælgelsesforespørgsel, og åbn derefter forespørgslen i designvisning.

  2. Brug rækken Kriterier i det felt, hvor du vil anvende en parameter, til at skrive den tekst, som skal vises i parameterens dialogboks, i kantede parenteser:

    [Startdato]

    Når du kører parameterforespørgslen, vises teksten uden de kantede parenteser i en dialogboks.

    Du kan også bruge et udtryk sammen med dine parametermeddelelser, f.eks.:

    Mellem [startdato] Og [Slutdato]

    Bemærk: Der vises en separat dialogboks for hver parametermeddelelse. I det andet eksempel vises to dialogbokse: én for Startdato og én for Slutdato.

  3. Gentag trin 2 for hver felt, du vil føje parametre til.

Du kan bruge ovenstående trin til at føje en parameter til enhver fra følgende typer af forespørgsler:

  • Vælg

  • Krydstabulering

  • Tilføjelse

  • Tabeloprettelse

  • Opdater

Du kan også føje en parameter til en foreningsforespørgsel.

  1. Åbn foreningsforespørgslen i SQL-visning.

  2. Tilføj en WHERE-delsætning, der indeholder alle de felter, du vil bede om en parameter for.

    Hvis der allerede er en WHERE-delsætning, skal du undersøge, om de felter, som du vil bruge en parametermeddelelse for, allerede findes i delsætningen. Hvis ikke, skal du tilføje dem.

  3. I stedet for at bruge et kriterium i WHERE-delsætningen, skal du bruge en parametermeddelelse.

Matche dele af en feltværdi med en parameterstreng

Du kan få brug for at variere den måde, forespørgslen anvender en parameter på. Du vil måske have en forespørgsel til at acceptere en tekststreng og matche den med en del af et felt. Det kan du gøre ved at kombinere nøgleordet Like med jokertegn. Du kan f.eks. få forespørgslen til at bede om et oprindelsesland/-område, som skal matche, når den relevante feltværdi indeholder parameterstrengen. Sådan gør du:

  1. Opret en udvælgelsesforespørgsel, og åbn derefter forespørgslen i designvisning.

  2. Skriv i rækken kriterier for det felt, du vil parameteren anvendt Like "*" & [, Skriv den tekst, du vil benytte som prompt, og skriv derefter ] & "*".

    Når du kører parameterforespørgslen, vises teksten uden de kantede parenteser i en dialogboks og uden nøgleordet Like eller jokertegnene.

  3. Når forespørgslen accepterer parameteren, matches den med værdier, der indeholder parameterstrengen. Parameterstrengen us matcher f.eks. rækker, hvor parameterfeltet har værdien Australien, og rækker, hvor værdien er USA.

Du kan også bruge nøgleordet Like sammen med jokertegn til at angive, at en parameter skal matche starten eller slutningen af en feltværdi. Hvis den skal matche starten af en feltværdi, skal du udelade anførselstegnene, jokertegnet og og-tegnet (&) foran den kantede åbningsparentes. Hvis den skal matche slutningen af en feltværdi, skal du udelade og-tegnet, anførselstegnene og jokertegnet efter den kantede slutparentes.

Returnere værdier, der ikke matcher

Kan du vil indsamle en parameter, men i stedet for få forespørgslen returnerer rækker med en tilsvarende værdi, du ønsker, at forespørgslen til at returnere rækker, hvor nogle andre sammenligning evalueres som SAND. Du vil muligvis bede om et år og derefter returnere rækker, hvor værdien af år er større end parameterstrengen. Sådan gør du skriver en sammenligningsoperator til venstre for den første kantede venstreparentes, der omslutter parameterprompten for eksempel> [år:].

Toppen af siden

Angive parameterdatatyper

Du kan også angive, hvilken type data en parameter skal acceptere. Du kan angive datatypen for enhver parameter, men det er særligt vigtigt at angive datatypen for numeriske, valuta- og dato- eller klokkeslætsdata. Når du angiver den datatype, som en parameter skal acceptere, får brugerne vist en mere brugervenlig fejlmeddelelse, hvis de indtaster den forkerte type data, f.eks. tekst, når der forventes en valuta.

Bemærk: Hvis en parameter er konfigureret til at acceptere tekstdata, vil input blive fortolket som tekst, og der vil ikke blive vist nogen fejlmeddelelse.

Benyt følgende fremgangsmåde for at angive datatypen for parametre i en forespørgsel:

  1. Åbn forespørgslen i designvisning, og klik på Parametre i gruppen Vis/skjul på fanen Design.

  2. Skriv et spørgsmål for hver parameter, du vil angive datatypen for, i kolonnen Parameter i dialogboksen Forespørgselsparametre. Sørg for, at de enkelte parametre svarer til det spørgsmål, du bruger i rækken Kriterier i forespørgslens designgitter.

  3. Vælg datatypen for de enkelte parametre i kolonnen Datatype.

Toppen af siden

Oprette en formular, der indsamler parametre

Parameterforespørgsler har ganske vist en indbygget dialogboks, der indsamler parametre, men de har kun basisfunktionalitet. Hvis du bruger en formular til at indsamle parametre, kan du udnytte følgende funktioner:

  • Muligheden for at bruge datatypespecifikke kontrolelementer som f.eks. kalenderfunktioner til datoer.

  • Vedvarigheden af de indsamlede parametre, så du kan bruge dem med mere end én forespørgsel.

  • Muligheden for at benytte en kombinationsboks eller liste til parameterindsamling, så du kan foretage valg på en liste over tilgængelige dataværdier.

  • Muligheden for at anvende kontrolelementer til andre funktioner, f.eks. åbning eller opdatering af en forespørgsel.

Benyt følgende fremgangsmåde til at oprette en formular, der indsamler parametre.

Trin 1: Oprette en formular, der accepterer input

Trin 2: Oprette et modul til kontrol af, om parameterformularen allerede er indlæst

Trin 3: Oprette en makrogruppe, der kontrollerer formularen

Trin 4: Tilføj kommandoknapperne OK og Annuller i formularen.

Trin 5: Bruge formulardata som forespørgselskriterier

Trin 1: Oprette en formular, der accepterer input

  1. Klik på Formulardesign i gruppen Formularer under fanen Opret.

  2. Tryk på F4 i designvisning for at få vist egenskabsarket, og angiv derefter formularegenskaberne i overensstemmelse med følgende tabel.

Egenskab

Indstilling

Titeltekst

Skriv det navn, der skal vises på titellinjen i formularen.

Standardvisning

En post ad gangen.

Tillad Formularvisning

Ja

Tillad Dataarkvisning

Nej

Tillad Pivottabelvisning

Nej

Tillad Pivotdiagramvisning

Nej

Rullepaneler

Ingen

Postvælgere

Nej

Navigationsknapper

Nej

Rammetype

Dialogboks.

  1. For hver parameter, som formularen skal indsamle, skal du klikke på Tekstboks i gruppen Kontrolelementer under fanen Design.

  2. Angiv egenskaberne for tekstboksene, som det er vist i følgende tabel.

Egenskab

Indstilling

Navn

Indtast et navn, der beskriver parameteren, f.eks. Startdato.

Format

Vælg et format, der afspejler parameterfeltets datatype. Vælg f.eks. Standarddatoformat til et datofelt.

  1. Gem formularen, og giv den et navn, f.eks. Datoområde.

Trin 2: Oprette et modul til kontrol af, om parameterformularen allerede er indlæst

  1. Klik på modul i gruppen andet under fanen Opret. Hvis denne kommando er tilgængelig, klik på pilen under makro eller knappen Klassemodul, og klik derefter på modul.

    Der åbnes et nyt modul i Visual Basic Editor.

  2. Skriv eller indsæt 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. Gem modulet, og luk derefter Visual Basic Editor.

Trin 3: Oprette en makrogruppe, der kontrollerer formularen

  1. Klik på Makro i gruppen Andet under fanen Opret. Hvis denne kommando ikke er tilgængelig, skal du klikke på pilen under enten knappen Modul eller Klassemodul, og klik derefter på Makro.

  2. Klik på Vis alle handlinger i gruppen Vis/skjul under fanen Design.

  3. Klik på Makronavne for at få vist kolonnen Makroens navn under fanen Design i gruppen Vis/Skjul.

  4. Skriv et makronavn som f.eks. Åbn dialog i kolonnen Makronavn.

  5. Klik på den celle i kolonnen Handling, der står ud for det nye makronavn, klik på rullepilen, og klik derefter på ÅbnFormular.

  6. Angiv Handlingsargumenter, i gitteret Handlingsargumenter (findes under designgitteret makro), som vist i nedenstående tabel.

Argument

Indstilling

Formularnavn

Skriv det navn, du har givet din rapport parameter formular.

Visning

Formular

Datatilstand

Rediger

Vinduestilstand

Dialogboks

  1. Klik på AnnullerHændelse i den næste Handling-celle for at tilføje endnu en handling. Denne handling skal bruges til at annullere visning eller udskrivning af rapporten, hvis en bruger klikker på knappen Annuller i formularen.

  2. Klik på Betingelser i gruppen Vis/skjul under fanen Design, hvis kolonnen Betingelse ikke er synlig.

  3. Skriv ikke IsLoaded, efterfulgt af en venstreparentes og en anførselstegn, efterfulgt af navnet, du har givet rapport parameter formularen, og derefter efterfulgt af et anførselstegn og en højreparentes i kolonnen betingelse. Eksempelvis hvis formularen hedder Parameter indsamler, du skriver ikke IsLoaded("Parameter indsamler").

  4. Skriv et nyt makronavn som f.eks. Luk dialog i den næste tomme række af makrodesigngitteret.

  5. Klik på pil ned i cellen tilstødende handling, og klik derefter på Luk. Denne handling bruges til at lukke formularen parameter i forespørgslen. Angiv handlingsargumenterne, som vist i nedenstående tabel.

Argument

Indstilling

Objekttype

Formular

Objektnavn

Skriv det navn, du har givet din rapport parameter formular.

Gem

Nej

  1. Skriv et nyt makronavn som f.eks. OK i den næste tomme række af makrodesigngitteret. Klik på rullepilen i nabocellen Handling, og klik derefter på AngivVærdi. Denne handling bruges til at skjule rapportparameterformularen, hvis brugeren klikker på OK. Indstil dens handlingsargumenter, som det er vist i følgende tabel.

Argument

Indstilling

Element

[Synlig]

Udtryk

Nej

  1. Skriv et nyt makronavn som f.eks. Annuller i den næste tomme række af makrodesigngitteret. Klik på rullepilen i nabocellen Handling, og klik derefter på Luk. Denne handling bruges til at lukke rapportparameterformularen, hvis brugeren klikker på Annuller. Indstil dens handlingsargumenter, som det er vist i følgende tabel.

Argument

Indstilling

Objekttype

Formular

Objektnavn

Skriv det navn, du har givet din rapport parameter formular.

Gem

Nej

  1. Gem og luk makrogruppen. Navngive makrogruppen, for eksempel Dato område makro.

Trin 4: Tilføj kommandoknapperne OK og Annuller i formularen.

  1. Åbn formularen datointerval i designvisning.

  2. Sørg for, at Brug kontrolelementguider ikke er markeret i gruppen Kontrolelementer under fanen Design.

  3. Klik på Knap i gruppen Kontrolelementer under fanen Design.

  4. Placer markøren under tekstboksene i formularen, og træk derefter markøren for at oprette kommandoknappen OK.

  5. Hvis egenskabsarket ikke er synligt, skal du trykke på F4 for at få det vist.

  6. Indstil OK-knappens egenskaber, som det er vist i følgende tabel.

Egenskab

Indstilling

Navn

OK

Titeltekst

OK

Standard

Ja

VedKlik

Skriv navnet på makroen, for eksempel dato Range.OK.

  1. Opret kommandoknappen Annuller, og angiv dens egenskaber, som det er vist i følgende tabel.

Egenskab

Indstilling

Navn

Annuller

Titeltekst

Annuller

VedKlik

Skriv navnet på makroen, for eksempel dato Range.Cancel.

  1. Gem og luk formularen.

Trin 5: Bruge formulardata som forespørgselskriterier

  1. Åbn forespørgslen i designvisning.

  2. Angive kriterierne for dataene. Brug af objektet formularer , navnet på formularen, og navnet på kontrolelement:

    • I en Access-database (.accdb eller .mdb) til formularen Datoområde kan du anvende følgende udtryk til at referere til kontrolelementerne Startdato og Slutdato i forespørgslen:

      Mellem [formularer] ! [ Datointerval]! [ StartDate ] og [formularer]! [Datointerval]! [ EndDate ]

Toppen af siden

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×