Gælder for
Formularobjekt |
Rapportobjekt |
Du kan bruge egenskaben Inputparametre til at angive eller fastslå de inputparametre, der sendes til en SQL-sætning i egenskaben Postkilde for en formular eller rapport eller en lagrede procedurer, når den bruges som postkilde i et Microsoft Access-projekt (.adp). Læs/skriv Streng.
udtryk.Inputparametre
udtryk Påkrævet. Et udtryk, der returnerer et af objekterne på listen Gælder for.
Bemærkninger
Du kan angive denne egenskab ved hjælp af egenskabsark eller VBA-kode (Visual Basic for Applications).
Når den bruges med en Postkilde-egenskab:
Et eksempel på en InputParameter-egenskabsstreng, der bruges sammen med en SQL-sætning i Postkilde-egenskaben, bruger følgende syntaks.
state char=[Forms]![formname]![StateList], salesyear smallint=[Forms]![formname]![Enter year of interest]
Denne vil føre til, at statusparameteren bliver indstillet til den aktuelle værdi for Statusliste-kontrolelementet, og at brugeren bliver bedt om at angive parameteren salgsår. Hvis der er nogen andre parametre, der ikke er på listen, så får de tildelt standardværdierne.
Forespørgslen skal udføres med én ? mærke for hver ikke-standardparameter på InputParameter-listen .
En opfrisknings- eller genforespørgselskommando i Microsoft Office Access 2007 bør udløse en genudførsel af forespørgslen. Brugere kan gøre dette i kode ved at kalde standardmetoden Recordset.Requery. Hvis værdien af parameteren er bundet til et kontrolelement i formularen, bruges den aktuelle værdi af kontrolelementet på genforespørgselstidspunktet. Forespørgslen genudføres ikke automatisk, når værdien af kontrolelementet ændres.
Anvendelse med en gemt procedure:
Et eksempel på en InputParameter-egenskabsstreng, der bruges med en lagret procedure, kunne være:
@state char=[Forms]![formname]![StateList], @salesyear smallint=[Forms]![formname]![Enter year of interest]
Dette vil føre til, at @statusparameteren bliver indstillet til den aktuelle værdi for Statusliste-kontrolelementet, og at brugeren bliver bedt om at angive parameteren @salgsår. Hvis der er nogen andre parametre knyttet til den lagrede procedure, der ikke er på listen, så får de tildelt standardværdierne.
Den lagrede procedure skal udføres ved hjælp af en kommandostreng, der indeholder syntaksen {call } med en ? mærke for hver ikke-standardparameter på InputParameter-listen .
En opfrisknings- eller genforespørgselskommando i Access bør udløse en genudførsel af den lagrede procedure. Brugere kan gøre dette i kode ved at kalde standardmetoden Recordset.Requery. Hvis værdien af parameteren er bundet til et kontrolelement i formularen, bruges den aktuelle værdi af kontrolelementet på genforespørgselstidspunktet. Den lagrede procedure genudføres ikke automatisk, når værdien af kontrolelementet ændres.
Generator-dialogboksen aktiveres, når en lagret procedure indledningsvist vælges som postkilden i en formular, hvis den lagrede procedure har nogen parametre. Efter den indledningsvise oprettelse af strengen Inputparametre bruges den samme dialogskærm som en generator til redigering af strengen. I dette tilfælde kommer listen over parametre dog fra eksisterende indhold i strengen.
Parameterværdier kan også angives i kode ved hjælp af Kommando og Parameter-objekter i ActiveX Data Object (ADO). Hvis resultatet returnerer et resultatsæt, kan en formular bindes til det ved at indstille formularens Postsæt-egenskab. ADO-kodning er den eneste metode til håndtering af lagrede procedurer, der ikke returnerer resultatsæt, såsom handlingsforespørgsler, der returnerer outputparametre, eller der returnerer flere resultatsæt.