Egenskapen InputParameters

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 är 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 bör utföras med en ?-markör för varje parameter som inte är av standardtyp 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 bör utföras med hjälp av en kommandosträng som innehåller {call}-syntaxen med en ?-markör för varje parameter som inte är av standardtyp 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.

Utöka dina 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.

×