I del 2 av den här serien överväger vi att använda LIKE och jokertecken i frågevillkor för att hitta inexact-matchningar. Bra saker – men tänk om du får frågan att tillämpa villkor som anges när den körs? Men om du kunde få en fråga att begära indata? Goda nyheter! Du kan göra så att en fråga ber om indata och det är faktiskt väldigt enkelt.
Allt du gör är att använda en fråga som omges av hakparenteser i stället för ett vanligt villkor. När frågan körs av någon är det första den gör att visa en dialogruta med den fråga du använde. Låt oss ta en titt på utformningen av frågan som produceras i dialogrutan Kundens efternamn?
Frågan returnerar alla data från tabellen Kunder, men bara de poster där Efternamn matchar användarens svar på det här:
Det får jobbet gjort, men det finns saker du kan göra för att förbättra frågans användbarhet. Du kan deklarera dina parametrar så att Access ger ett klokt felmeddelande om någon matar in fel typ av data (till exempel om någon anger text när ett tal krävs).
Deklarera en parameter:
-
Öppna frågan i designvyn och kopiera parameterfrågan till Urklipp, inklusive hakparenteserna (markera parameterfrågan och tryck på Ctrl+C).
-
På fliken | Klicka på Parametrar i gruppen Visa/dölj på fliken Design.
-
Klistra in den kopierade parametern i kolumnen Parameter i dialogrutan Frågeparametrar och ange sedan datatypen i listrutan i kolumnen Datatyp.
Om du verkligen vill gå vidare kan du använda ett formulär för att samla indata. Ett formulär öppnar alla typer av möjligheter, till exempel att dela indataparametrar mellan en uppsättning frågor eller tillhandahålla en datumväljare för att ange en datum-/tidsparameter. Mer information finns i Använda parametrar i frågor, formulär och rapporter.