Отнася се за
Обект Form |
Обект Report |
Можете да използвате свойството InputParameters, за да зададете или определите входните параметри, които се предават към SQL команда в свойството RecordSource на формуляр или отчет или съхранена процедура при използване като източник на записи в Проект на Microsoft Access (.adp). String за четене/запис.
израз.InputParameters
израз Задължително. Израз, който връща един от обектите в списъка "Отнася се за".
Забележки
Можете да зададете това свойство с помощта на списък със свойства или код на Visual Basic for Applications (VBA).
Когато се използва със свойството RecordSource:
Примерен низ на свойството InputParameter, използвано с SQL команда в свойството RecordSource, би използвало следния синтаксис:
state char=[Формуляри]![име_на_формуляр]![StateList], salesyear smallint=[Формуляри]![име_на_формуляр]![Година на интерес]
Това ще доведе до задаване на параметъра state на текущата стойност на контролата StateList, а потребителят ще бъде запитан за параметъра salesyear. Ако има други параметри, които не са в този списък, те ще получат стойностите по подразбиране.
Заявката трябва да се изпълни с един маркер ? за всеки параметър, който не е по подразбиране в списъка InputParameter.
Команда за обновяване или повторна заявка в Microsoft Office Access 2007 би трябвало да задейства повторно изпълнение на заявката. Потребителите могат да направят това в код, като извикат стандартния метод Recordset.Requery. Ако стойността на параметър е обвързана с контрола във формуляра, текущата стойност на контролата се използва по време на повторната заявка. Заявката не се изпълнява повторно автоматично при промяна на стойността на контролата.
Когато се използва със съхранена процедура:
Примерен низ на свойството InputParameter, използван със съхранена процедура, би изглеждал така:
@state char=[Формуляри]![име_на_формуляр]![StateList], salesyear smallint=[Формуляри]![име_на_формуляр]![Година на интерес]
Това ще доведе до задаване на параметъра @state на текущата стойност на контролата StateList, а потребителят ще бъде запитан за параметъра @salesyear. Ако има други параметри към съхранената процедура, те ще получат стойностите по подразбиране.
Съхранена процедура трябва да се изпълни чрез команден низ, съдържащ синтаксиса {call } с един маркер ? за всеки параметър, които не е по подразбиране, в списъка InputParameter.
Команда за обновяване или повторна заявка в Access би трябвало да задейства повторно изпълнение на съхранената процедура. Потребителите могат да направят това в код, като извикат стандартния метод Recordset.Requery. Ако стойността на параметър е обвързана с контрола във формуляра, текущата стойност на контролата се използва по време на повторната заявка. Съхранената процедура не се изпълнява повторно автоматично при промяна на стойността на контролата.
Този диалогов прозорец на конструктора се извиква, когато съхранена процедура първо се избира като източник на записи на формуляр, ако съхранената процедура има някакви параметри. След първоначалното създаване на низа InputParameters същият диалогов прозорец се използва като конструктор за промяна на низа. В този случай обаче списъкът с параметри идва от това, което вече съществува в низа.
Стойностите на параметрите също могат да се зададат в код чрез обектите Команда и Параметър на ActiveX обекти с данни (ADO). Ако резултатът е набор от резултати, с него може да се обвърже формуляр чрез задаване на свойството Recordset на формуляра. ADO кодирането е единственият начин да се обработват съхранени процедури, които не връщат набори от резултати като заявки за действие, такива, които връщат изходни параметри, или такива, които връщат няколко набора от резултати.