Gäller för
Form-objekt |
Report-objekt |
Du kan använda egenskapen InputParameters och ange eller avgöra vilka indataparametrar som skickas till en SQL-sats i RecordSource-egenskapen för ett formulär eller en rapport eller en lagrad procedur när de används som datakälla inom ett Microsoft Access-projekt (.adp). Sträng för läsning/skrivning.
uttryck.InputParameters
Uttryck Obligatoriskt. Ett uttryck som returnerar ett av objekten i listan Gäller för.
Kommentarer
Du kan ange den här egenskapen med hjälp av egenskapssida eller med VBA-kod (Visual Basic for Applications).
Tillsammans med en RecordSource egenskap:
För en exempelegenskapssträng av typen InputParameter som används tillsammans med ett SQL-uttryck i RecordSource-egenskapen används följande syntax.
state char=[Forms]![formname]![StateList], salesyear smallint=[Forms]![formname]![Enter year of interest]
Det skulle resultera i att state-parametern ställs in på det aktuella värdet i kontrollen StateList och användaren uppmanas att ange parametern salesyear (försäljningsår). Om det finns andra parametrar som inte fanns i den här listan tilldelas de standardvärden.
Frågan ska köras med ett ? för varje parameter som inte är standard i listan InputParameter .
Ett kommando av typen uppdatera eller fråga igen i Microsoft Office Access 2007 ska utlösa att frågan körs igen. Användare kan göra det här i koden genom att tillkalla Recordset.Requery-standardmetoden. Om värdet för en parameter är knutet till en kontroll i formuläret används det aktuella värdet på kontrollen när frågan körs igen. Frågan körs inte automatiskt om när värdet i kontrollen ändras.
Vid användning med en lagrad procedur:
Ett exempel på en InputParameter-egenskapssträng som används med lagrad procedur är:
@state char=[Forms]![formname]![StateList], @salesyear smallint=[Forms]![formname]![Enter year of interest]
Det skulle resultera i att @stateparametern ställs in på det aktuella värdet i kontrollen StateList och användaren uppmanas att ange parametern @salesyear (försäljningsår). Om det finns andra parametrar i den lagrade proceduren som inte fanns i den här listan tilldelas de standardvärden.
Den lagrade proceduren ska utföras med en kommandosträng som innehåller syntaxen för {call } med en ? för varje parameter som inte är standard i listan InputParameter .
Ett kommando av typen uppdatera eller fråga igen i Access ska utlösa att den lagrade proceduren körs igen. Användaren kan göra det här i koden genom att tillkalla Recordset.Requery-standardmetoden. Om värdet för en parameter är knutet till en kontroll i formuläret används det aktuella värdet på kontrollen när frågan körs igen. Den lagrade proceduren körs inte automatiskt om när värdet i kontrollen ändras.
Verktygsdialogen anropas när en lagrad procedur först markeras som datakälla för ett formulär, om den lagrade proceduren har några parametrar. När InputParameters-strängen har skapats används samma dialogruta som verktyg för att ändra strängen. I det här fallet kommer dock listan med parametrar från det som redan finns i strängen.
Parametervärden kan också ställas in i kod med hjälp av objekten Kommando och Parameter för ADO (ActiveX Data Object). Om resultatet returnerar en resultatuppsättning kan ett formulär knytas till den genom att du anger formulärets Recordset-egenskap. ADO-kodning är det enda sättet att hantera lagrade procedurer som inte returnerar resultatuppsättningar, till exempel redigeringsfrågor, sådana som returnerar utdataparametrar och sådana som returnerar flera resultatuppsättningar.