Använda parametrar i frågor, formulär och rapporter

Obs!:  Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

När du vill att en fråga i Access ska begära indata varje gång du kör den kan du skapa en parameterfråga.

Du kan också skapa ett formulär för att samla in parametervärden som används för att begränsa antalet poster som returneras för frågor, formulär och rapporter. I den här artikeln förklarar vi hur du använder formulär för att förbättra din användning av parametrar i frågor, formulär och rapporter.

I den här artikeln

Översikt

Använda parametrar i frågor

Ange parameterns datatyper

Skapa ett formulär som samlar in parametrar

Skapa ett formulär som samlar in parametrar för en rapport

Översikt

Du kan använda villkor i en parameterfråga i Access för att begränsa antalet poster som returneras av frågan. Det kan hända att dialogrutorna som tillhandahålls för en parameterfråga är otillräckliga för dina behov. I sådana fall kan du skapa ett formulär som bättre passar dina behov för parameterinsamling. I den här artikeln förklarar vi hur du skapar ett formulär som samlar fråge- och rapportparametrar. I artikeln förutsätter vi att du är van vid att skapa frågor och definiera parametrar i frågor. Du bör minst veta hur du skapar en urvalsfråga innan du fortsätter.

Artikeln innehåller exempel på hur du använder parametrar i frågor. Den innehåller inte en fullständig referens för att ange villkor.

Använda parametrar i frågor

Att använda en parameter i en fråga är lika enkelt som att skapa en fråga med villkor. Du kan utforma en fråga så att den uppmanar dig att ange en viss informationsdel, t.ex ett artikelnummer, eller mer information, till exempel två datum. Varje parameterfråga visar en separat dialogruta för varje parameter, där du uppmanas att ange ett värde för den parametern.

Lägga till en parameter i en fråga

  1. Skapa en urvalsfråga och öppna sedan frågan i Designvyn.

  2. På raden Villkor för ett fält för vilket du vill att en parameter ska tillämpas, skriver du den text som du vill ska visas i dialogrutan för parametern, inom hakparenteser, till exempel:

    [Startdatum]

    När du kör parameterfrågan visas uppmaningen i en dialogruta utan hakparenteserna.

    Du kan också använda ett uttryck med parameteruppmaningarna, till exempel:

    Mellan [Startdatum] Och [Slutdatum]

    Obs!: En separat dialogruta visas för varje parameteruppmaning. I det andra exemplet visas två dialogrutor: en för Startdatum och en för Slutdatum.

  3. Upprepa steg 2 för varje fält som du vill lägga till parametrar för.

Du kan använda de föregående stegen för att lägga till en parameter i någon av följande typer av frågor: Urvalsfråga, korsfråga, tilläggsfråga, tabellfråga eller uppdateringsfråga.

Du kan också lägga till en parameter i en unionsfråga genom att följa de här stegen:

  1. Öppna unionsfrågan i SQL-vyn.

  2. Lägg till en WHERE-sats som innehåller alla fält för vilka du vill fråga efter en parameter.

    Om det redan finns en WHERE-sats ska du kontrollera om fälten för vilka du vill använda en parameterfråga redan finns i satsen. Annars lägger du till dem.

  3. I stället för att använda ett villkor i WHERE-satsen kan du använda en parameteruppmaning.

Ange parameterns datatyper

Du kan också ange vilken typ av data som en parameter ska acceptera. Du kan ange datatypen för alla parametrar, men det är särskilt viktigt att ange datatypen för tal, valuta och datum/tid. När du anger datatypen som en parameter ska acceptera, visas ett felmeddelande för användaren om han eller hon anger fel typ av data, till exempel skriver text i stället för valuta.

Obs!: Om en parameter konfigurerats till att acceptera textdata, tolkas alla inmatningar som text och inget felmeddelande visas.

Så här anger du datatypen för parametrar i en fråga:

  1. Klicka på Parametrar i gruppen Visa/dölj på fliken Design när frågan är öppen i designvyn.

  2. I kolumnen Parameter i dialogrutan Frågeparametrar skriver du uppmaningen för respektive parameter som du vill ange datatypen för. Se till att varje parameter matchar uppmaningen som du använder i raden Villkor i frågerutnätet.

  3. Välj datatyp för respektive parameter i kolumnen Datatyp.

Skapa ett formulär som samlar in parametrar

Även om parameterfrågor har en inbyggd dialogruta som samlar in parametrar, ger de endast grundläggande funktioner. Genom att använda ett formulär för att samla in parametrar får du följande funktioner:

  • Möjligheten att använda datatypsspecifika kontroller, till exempel kalenderkontroller för datum.

  • De insamlade parametrarna sparas, så att du kan använda dem med mer än en fråga.

  • Möjligheten att tillhandahålla en kombinationsruta eller listruta för parameterinsamling, där du kan välja från en lista med tillgängliga datavärden.

  • Möjligheten att tillhandahålla kontroller för andra funktioner, till exempel öppna eller uppdatera en fråga.

I följande video visar vi hur du kan skapa ett enkelt formulär för att samla in parametrar för en fråga i stället för att använda dialogrutor som normalt förknippas med parameterfrågor.

Din webbläsare har inte stöd för video. Installera Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Skapa ett formulär som samlar in parametrar för en rapport

Det finns flera sätt att hantera detta scenario, men vi ska visa en metod som i huvudsak använder makron. Följ de här stegen för att skapa ett formulär som samlar in parametrar för en rapport.

Steg 1: Skapa ett formulär som accepterar inmatning

Steg 2: Skapa en kodmodul för att kontrollera om parameterformuläret redan har lästs in

Steg 3: Skapa ett makro som styr formuläret och rapporten

Steg 4: Lägga till kommandoknapparna OK och Avbryt i formuläret

Steg 5: Använda formulärdata som frågevillkor

Steg 6: Lägga till makroåtgärder i rapporthändelser

Steg 7: Testa själv

Steg 1: Skapa ett formulär som accepterar inmatning

  1. På fliken Skapa i gruppen Formulär klickar du på Formulärdesign.

  2. Tryck på F4 i designvyn för att visa egenskapssidan och ange sedan egenskaper för formuläret enligt tabellen nedan.

    Egenskap

    Inställning

    Titel

    Ange det namn som du vill ska visas i namnlisten i formuläret.

    Standardvy

    Enstaka formulär

    Tillåt formulär

    Ja

    Tillåt datablad

    Nej

    Tillåt pivottabell

    Nej

    Tillåt pivotdiagram

    Nej

    Rullningslister

    Inget av dem

    Postväljare

    Nej

    Navigeringsknappar

    Nej

    Kantlinjeformat

    Dialogruta

  3. För varje parameter som du vill att formuläret ska samla in klickar du på Textruta i gruppen Kontroller på fliken Design.

  4. Ange egenskaper för textrutorna, som visas i följande tabell.

    Egenskap

    Inställning

    Namn

    Ange ett namn som beskriver parametern, till exempel Startdatum.

    Format

    Välj ett format som avspeglar parameterfältets datatyp. Välj exempelvis Allmänt datum för ett datumfält.

  5. Spara formuläret och ge det ett namn, till exempel frmVillkor.

Steg 2: Skapa en kodmodul för att kontrollera om parameterformuläret redan har lästs in

  1. Klicka på Modul i gruppen Makron och kod på fliken Skapa. Observera att om du använder Access 2007 ska du klicka på Modul i gruppen Övrigt på fliken Skapa.

    En ny modul öppnas i Visual Basic Editor.

  2. Skriv eller klistra in följande kod 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. Spara modulen med ett unikt namn och stäng sedan Visual Basic Editor.

Steg 3: Skapa ett makro som styr formuläret och rapporten

Med hjälp av funktionerna för undermakron i Access kan vi definiera alla nödvändiga steg vi behöver göra i ett enda makro. Vi kommer att skapa fyra undermakron – Öppna dialogruta, Stäng dialogruta, OK och Avbryt – för att styra olika uppgifter som behövs för den här proceduren. Använd skärmbilden nedan som en guide och skapa ett nytt makro med följande undermakron och åtgärder. Observera att parameterformuläret kallas frmVillkor i det här exemplet. Justera makrot så att det matchar namnet på det formulär som du skapade tidigare. Du måste även se till att klicka på Visa alla åtgärder på fliken Design om du ska kunna visa alla makroåtgärder.

Skärmbild av ett Access-makro med fyra undermakron och åtgärder.

Spara och stäng makrot. Ge makrot ett namn, till exempel Makro för datumintervall.

Steg 4: Lägga till kommandoknapparna OK och Avbryt i formuläret

  1. Öppna parameterformuläret som du skapade tidigare i designvyn.

  2. Kontrollera att Använd kontrollguider i gruppen Kontroller på fliken Design inte är markerat.

  3. Klicka på Knapp i gruppen Kontroller på fliken Design.

  4. Placera pekaren under textrutorna i formuläret och dra sedan för att skapa kommandoknappen OK.

  5. Om egenskapssidan inte visas trycker du på F4 så att den öppnas.

  6. Ange egenskaper för knappen OK, som visas i följande tabell.

    Egenskap

    Inställning

    Namn

    OK

    Titel

    OK

    Standard

    Ja

    VidKlickning

    Ange namnet på makrot, till exempel Makro för datumintervall.OK.

  7. Skapa kommandoknappen Avbryt och ange dess egenskaper, som visas i följande tabell.

    Egenskap

    Inställning

    Namn

    Avbryt

    Titel

    Avbryt

    VidKlickning

    Ange namnet på makrot, till exempel Makro för datumintervall.Avbryt.

  8. Spara och stäng formuläret.

Steg 5: Använda formulärdata som frågevillkor

  1. Öppna frågan som du skapade tidigare i designvyn.

  2. Ange villkor för data. Använd objektet Formulär, namnet på formuläret och namnet på din kontroll:

    • I en Access-databas (.accdb eller .mdb) använder du till exempel följande uttryck för att referera till kontroller med namnen Startdatum och Slutdatum i frågan för ett formulär med namnet frmVillkor:

      Mellan [Formulär]![frmVillkor]![Startdatum] Och [Formulär]![frmVillkor]![Slutdatum]

Steg 6: Lägga till makroåtgärder i rapporthändelser

  1. Öppna den rapport som du vill använda i designvyn.

  2. Om egenskapssidan inte visas trycker du på F4 så att den öppnas.

  3. Kontrollera att egenskapen Datakälla för rapporten använder parameterfrågan som du definierade tidigare.

  4. Ange dessa två ytterligare rapportegenskaper, som visas i följande tabell.

    Egenskap

    Inställning

    VidÖppning

    Ange namnet på makrot, till exempel Makro för datumintervall.Öppna dialogruta.

    VidStängning

    Ange namnet på makrot, till exempel Makro för datumintervall.Stäng dialogruta.

    I rapportens Öppna-händelse kör Access åtgärderna som definierats i undermakrot Öppna dialogruta för objektet Makro för datumintervall. Och på samma sätt kör Access åtgärderna som definierats i undermakrot Stäng dialogruta i objektet Makro för datumintervall när du stänger rapporten.

  5. Spara och stäng rapporten.

Steg 7: Testa själv

Nu när du har skapat alla Access-objekten är det dags att prova. Öppna rapporten i Rapportvy eller Förhandsgranska och lägg märke till att parameterformuläret öppnas i dialogruteläge innan rapporten visas i Access. Ange nödvändiga villkor i textrutorna som du skapade tidigare och klicka sedan på kommandoknappen OK i formuläret. Då döljs formuläret i Access (Synligt = Nej) och rapporten öppnas med endast de data som matchar villkoren. Detta fungerar eftersom parameterfrågan som rapporten baseras på kan läsa värdena i kontrollerna i det dolda formuläret. När du stänger rapporten stängs även parameterformuläret i Access.

Överst på sidan

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×