Skapa en parameterfråga om du vill att en fråga i Access-databaser ska begära villkor när du kör den. Då kan du använda samma fråga om och om igen utan att hela tiden öppna den i Designvyn för att redigera villkoren.
Förstå terminologin
Innan vi fortsätter och beskriver stegen i processen nedan, är det bra om du förstår följande termer:
-
Parameter En parameter är information som du förser en fråga med när du kör den. Parametrar kan användas fristående eller som en del av ett mer omfattande uttryck för att skapa ett villkor i frågan. Du kan lägga till parametrar i någon av följande typer av frågor:
-
Urvalsfrågor
-
Korsfrågor
-
Lägg till
-
Tabellfrågor
-
uppdatera
-
-
Villkor Villkor är "filtren" som du lägger till i en fråga för att ange vilka objekt som ska returneras när du kör frågan.
Mer information om typen av frågor som nämns ovan hittar du i Introduktion till frågor.
Skapa en parameterfråga
Du skapar en parameter på liknande sätt som du lägger till ett vanligt villkor till en fråga:
-
Skapa en urvalsfråga och öppna sedan frågan i designvyn.
-
På raden Villkor för det fält som du vill använda en parameter för anger du den text som du vill visa i parameterrutan, inom hakparenteser. Till exempel [Ange startdatumet:]
-
Upprepa steg 2 för varje fält som du vill lägga till parametrar för.
När du kör frågan visas uppmaningen utan hakparenteserna.
Fyll i värdet som du söker efter och klicka på OK.
Du kan använda flera parametrar i ett villkor. Om du använder uttrycket Mellan [Ange startdatumet:] Och [Ange slutdatumet:]får du två uppmaningar att ange parametervärden när du kör frågan.
Ange parameterns datatyper
Du kan ange att parametern bara ska acceptera en viss typ av data. Det är särskilt viktigt att ange datatypen för tal, valuta och datum/tid eftersom ett mer användbart felmeddelande visas för användarna om de anger fel typ av data, t.ex. om de anger text när en valuta förväntas.
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:
-
Öppna frågan i designvyn och klicka på Parametrar i gruppen Visa/dölj på fliken Frågedesign.
-
Ange uppmaningen för varje parameter som du vill ange en datatyp för i kolumnen Parameter i rutan Frågeparametrar. Kontrollera att varje parameter matchar uppmaningen som du använde på raden Villkor i frågerutnätet.
-
Välj datatyp för respektive parameter i kolumnen Datatyp.
Lägga till en parameter i en unionsfråga
Eftersom du inte kan visa en union-fråga i frågerutnätet måste du göra på ett lite annorlunda sätt:
-
Öppna unionsfrågan i SQL-vyn.
-
Lägg till en WHERE-sats som innehåller de fält som du vill lägga till parametrar till.
Om det redan finns en WHERE-sats kontrollerar du om fälten som du vill lägga till parametrar till redan finns i satsen. Annars lägger du till dem.
-
Skriv parameteruppmaningen i where-satsen, t.ex. WHERE [StartDate] = [Ange startdatumet:]
Observera att du måste lägga till samma filter i varje avsnitt av frågan. I bilden ovan har frågan två avsnitt (avgränsade med nyckelordet UNION), vilket betyder att parametern måste läggas till två gånger. När du kör frågan visas uppmaningen emellertid bara en gång (förutsatt att du har stavat uppmaningen på exakt samma sätt i varje avsnitt).
Mer information om unionsfrågor finns i Använda en unionsfråga för att kombinera flera frågor till ett enda resultat.
Kombinera parametrar med jokertecken för bättre flexibilitet
Som med vanliga villkor kan du matcha fler objekt genom att kombinera parametrar med nyckelordet Som och jokertecken. Du kanske exempelvis vill att frågan ska visa en uppmaning om ursprungsland eller -region, men samtidigt matcha värden som innehåller parametersträngen. Så här gör du:
-
Skapa en urvalsfråga och öppna sedan frågan i designvyn.
-
Skriv följande på raden Villkor i det fält som du vill lägga till en parameter i: Som "*"&[, den text som ska visas som en uppmaning, följt av ]&"*".
När du kör parameterfrågan visas uppmaningen i dialogrutan utan hakparenteser och utan nyckelordet Gilla eller jokertecken:
När du har lagt till parametern returnerar frågan värden som innehåller parametersträngen. Parametersträngen us returnerar exempelvis objekt där parameterfältet har värdet Australien och objekt där värdet är USA.
Mer information om jokertecken finns i Exempel på jokertecken.
Returnera objekt som inte matchar parametern
I stället för att frågan returnerar objekt som matchar parametern kanske du vill att frågan ska returnera objekt som inte matchar den. Du kanske till exempel vill fråga efter ett år och sedan returnera poster där året är större än det du angav. Det gör du genom att skriva en jämförelseoperator till vänster om den första hakparentesen som omger parameterprompten, till exempel>[Ange ett år:].
Video: 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.
Titta på den här videon om du vill veta mer om hur du skapar parametrar i frågor.