Brug parametre i forespørgsler, formularer og rapporter

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

Du kan også oprette en formular til at indsamle parameterværdier, der skal bruges til at begrænse de poster, som returneres for forespørgsler, formularer eller rapporter. I denne artikel forklares det, hvordan du kan bruge formularer til at forbedre din brug af parametre i forespørgsler, formularer og rapporter.

Denne artikel indeholder

Oversigt

Brug parametre i forespørgsler

Angiv parameterdatatyper

Opret en formular, der indsamler parametre

Opret en formular, der indsamler parametre til en rapport

Oversigt

Du kan bruge kriterier i en parameterforespørgsel i Access til at begrænse antallet af poster, forespørgslen returnerer. Det kan være, at de dialogbokse, der leveres af en parameterforespørgsel, er utilstrækkelige til dit formål. I sådanne tilfælde kan du oprette en formular, der stemmer bedre overens med dine behov for parametersamlinger. I denne artikel forklares det, hvordan du kan oprette en formular, der indsamler forespørgsels- og rapportparametre. I denne artikel forudsættes det, at du er bekendt med at oprette forespørgsler og definere parametre i forespørgsler. Du bør som minimum have kendskab til oprettelse af en udvælgelsesforespørgsel, før du fortsætter.

Denne artikel indeholder eksempler på brug af parametre i forespørgsler. Den giver ikke en omfattende reference til at angive kriterier.

Brug parametre i forespørgsler

At bruge en parameter i en forespørgsel er lige så nemt som at oprette en forespørgsel, der anvender kriterier. Du kan designe en forespørgsel til at bede dig om en oplysning, f.eks. et varenummer, eller om mere end én oplysning, f.eks. to datoer. For hver parameter viser en parameterforespørgsel en separat dialogboks, som beder dig om en værdi for den pågældende parameter.

Føj en parameter til en forespørgsel

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

  2. I rækken Kriterier for et felt, som du vil have en parameter anvendt på, skal du skrive den tekst, du vil have vist i parameterdialogboksen, omsluttet af kantede parenteser, f.eks.:

    [Startdato]

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

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

    Mellem [Startdato] og [Slutdato]

    Bemærk: Der vises en separat dialogboks for hver parameterprompt. I det andet eksempel vises der to dialogbokse: en for startdatoen og en for slutdatoen.

  3. Gentag trin 2 for hver felt, hvor du vil tilføje parametre.

Du kan bruge de foregående trin til at føje en parameter til en af følgende typer af forespørgsler: Udvælgelses-, krydstabulerings-, tilføjelses-, tabeloprettelses- eller opdateringsforespørgsel.

Du kan også føje en parameter til en foreningsforespørgsel ved at følge disse trin:

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

  2. Tilføj en WHERE-delsætning, der indeholder hvert af de felter, du vil spørge om for en parameter.

    Hvis der allerede findes en WHERE-delsætning, skal du se efter, om de felter, som du vil anvende en parameterprompt for, allerede findes i delsætningen. Tilføj dem, hvis de ikke er der.

  3. Brug en parameterprompt i stedet for at bruge et kriterie i WHERE-delsætningen.

Angiv 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 data, 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, fortolkes alt input som tekst, og der vises ikke nogen fejlmeddelelse.

Følg disse trin for at angive datatypen for parametre i en forespørgsel:

  1. Mens forespørgslen er åben i Designvisning, skal du klikke på Parametre på fanen Design i gruppen Vis/Skjul.

  2. Skriv et spørgsmål for hvert 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 hvert parameter i kolonnen Datatype.

Opret en formular, der indsamler parametre

Selvom parameterforespørgsler har en indbygget dialogboks, som indsamler parametre, giver de kun grundlæggende funktionalitet. Ved at bruge en formular til at indsamle parametre opnår du følgende funktioner:

  • Muligheden for at bruge datatypespecifikke kontrolelementer, f.eks. kalenderkontrolelementer for datoer.

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

  • Muligheden for at få et kombinationsfelt eller en liste til parametervalg hvor du kan vælge fra en liste over tilgængelige dataværdier.

  • Muligheden for at få kontrolelementer til andre funktioner, f.eks. at åbne eller opdatere en forespørgsel.

I den følgende video kan du se, hvordan du kan oprette en simpel formular til at indsamle parametre til en forespørgsel i stedet for at bruge dialogboksene, som normalt er tilknyttet parameterforespørgsler.

Din browser understøtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Opret en formular, der indsamler parametre til en rapport

Der er flere måder at gribe disse scenarier an på, men vi viser kun én teknik, der anvender makroer. Følg disse trin for at oprette en formular, der indsamler parametre til en rapport.

Trin 1: Opret en formular til at modtage input

Trin 2: Opret et kodemodul for at kontrollere, om parameterformularen allerede er indlæst

Trin 3: Opret en makro, der kontrollerer formularen og rapporten

Trin 4: Føj kommandoknapperne OK og Annuller til formularen

Trin 5: Brug formulardataene som forespørgselskriterier

Trin 6: Føj makrohandlingerne til rapporthændelserne

Trin 7: Prøv det

Trin 1: Opret en formular til at modtage input

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

  2. Tryk på F4 i designvisning for at få vist egenskabsarket, og angiv derefter formularegenskaberne, sådan som det er vist i den følgende tabel.

    Egenskab

    Indstilling

    Billedtekst

    Skriv det navn, der skal vises i formularens titellinje.

    Standardvisning

    Enkeltformular

    Tillad formularvisning

    Ja

    Tillad dataarkvisning

    Nej

    Tillad pivottabelvisning

    Nej

    Tillad pivotdiagramvisning

    Nej

    Rullepaneler

    Ingen af delene

    Postvælgere

    Nej

    Navigationsknapper

    Nej

    Rammetype

    Dialogboks

  3. For hver parameter, du vil have formularen til at indsamle, skal du klikke på Tekstfelt i gruppen Kontrolelementer på fanen Design.

  4. Angiv egenskaberne for tekstfelterne, sådan som det er vist i den følgende tabel.

    Egenskab

    Indstilling

    Navn

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

    Format

    Vælg et format, der afspejler datatypen for parameterfeltet. Vælg eksempelvis Standarddatoformat for et datofelt.

  5. Gem formularen, og giv den et navn, f.eks. Formularkriterier.

Trin 2: Opret et kodemodul for at kontrollere, om parameterformularen allerede er indlæst

  1. Klik på Modul i gruppen Makroer og kode på fanen Opret. Bemærk, at hvis du bruger Access 2007, skal du klikke på Modul i gruppen Andet på fanen Opret.

    Der åbner 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 med et entydigt navn, og luk derefter Visual Basic Editor.

Trin 3: Opret en makro, der kontrollerer formularen og rapporten

Ved hjælp af undermakrofunktionerne i Access kan vi definere alle de nødvendige trin, vi skal udføre i en enkelt makro. Vi opretter fire undermakroer – Åbn dialogboks, Luk dialogboks, OK og Annuller – til at styre de forskellige opgaver, der skal bruges til denne procedure. Brug nedenstående skærmbillede som vejledning til at oprette en ny makro med følgende undermakroer og handlinger. Bemærk, at vores parameterformular i dette eksempel hedder FormularKriterie. Juster din makro, så den passer med navnet på den formular, du oprettede tidligere. Du skal også sørge for at klikke på Vis alle handlinger på fanen Design for at få vist alle makrohandlinger.

Skærmbillede af en Access-makro med fire undermakroer og handlinger.

Gem og luk makroen. Giv makroen et navn, f.eks. Datoområdemakro.

Trin 4: Føj kommandoknapperne OK og Annuller til formularen

  1. Åbn parameterformular, du oprettede tidligere, i designvisning.

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

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

  4. Anbring markøren under tekstfelterne i formularen, og træk derefter for at oprette en OK-kommandoknap.

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

  6. Angiv OK-knappens egenskaber, sådan som det er vist i den følgende tabel.

    Egenskab

    Indstilling

    Navn

    OK

    Billedtekst

    OK

    Standard

    Ja

    VedKlik

    Skriv navnet på makroen, f.eks. Datoområdemakro.OK.

  7. Opret en Annuller-kommandoknap, og angiv dens egenskaber, sådan som det er vist i den følgende tabel.

    Egenskab

    Indstilling

    Navn

    Annullere

    Billedtekst

    Annullere

    VedKlik

    Skriv navnet på makroen, f.eks. Datoområdemakro.Annuller.

  8. Gem og luk formularen.

Trin 5: Brug formulardataene som forespørgselskriterier

  1. Åbn den forespørgsel, du oprettede tidligere, i designvisning.

  2. Angiv kriterierne for dataene. Brug objektet Formularer, navnet på formularen og navnet på kontrolelement:

    • Eksempelvis skal du i en Access-database (.accdb eller .mdb) til en formular, der hedder FormularKriterie, bruge følgende udtryk for at referere til kontrolelementer, der hedder Startdato og Slutdato i forespørgslen:

      Mellem [Formularer]![FormularKriterie]![Startdato] Og [Formularer]![FormularKriterie]![Slutdato]

Trin 6: Føj makrohandlingerne til rapporthændelserne

  1. Åbn den rapport, du vil bruge, i designvisning.

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

  3. Sørg for, at egenskaben Postkilde for rapporten benytter den parameterforespørgsel, du definerede tidligere.

  4. Angiv disse to yderligere rapportegenskaber, sådan som det er vist i den følgende tabel.

    Egenskab

    Indstilling

    VedÅbning

    Skriv navnet på makroen, f.eks. Datoområdemakro.ÅbnDialogboks.

    VedLukning

    Skriv navnet på makroen, f.eks. Datoområdemakro.LukDialogboks.

    I hændelsen Åbn for rapporten kører Access de handlinger, der er defineret i undermakroen Åbn dialogboks for objektet Datoområdemakro. På samme måde kører Access, når du lukker rapporten, de handlinger, der er defineret i undermakroen Luk dialogboks for objektet Datoområdemakro.

  5. Gem og luk rapporten.

Trin 7: Prøv det

Nu hvor du har oprettet alle Access-objekterne, er det tid til at afprøve det. Åbn rapporten i Rapportvisning eller Vis udskrift, og bemærk, at før Access viser rapporten, åbnes din parameterformular i dialogbokstilstand. Angiv de nødvendige kriterier i de tekstfelter, du oprettede tidligere, og klik derefter på kommandoknappen OK i formularen. Access skjuler derefter formularen (Synlig = Nej) og åbner rapporten, hvor kun de data, der stemmer overens med dine kriterier, er medtaget. Dette fungerer, fordi den parameterforespørgsel, som rapporten er baseret på, kan læse værdierne i kontrolelementerne i den skjulte formular. Når du lukker rapporten, lukker Access også parameterformularen.

Tilbage til toppen

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×