Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сохраненная процедура MS SQL 2k с параметрами в .adp проекте в Access 2k
|
|||
|---|---|---|---|
|
#18+
Всех кого не затруднит прошу помочь мне хить чем нибудь по следующей проблеме: Adp проект. Есть сохраненная процедура с несколькими параметрами. Я хочу сделать следующее: Форма на которой бы пользователь сам заносил в поля соответствующие параметры и наличествовала кнопка "Запуск сохр. процедуры" Порывшись в хелпе к Access я вроде по разобрался что данные занесенные в поле на форме связываются с параметрами сохраненной процедуры через свойство InputParameters формы. Сделал вроде все согласно инструкциям - результата нет. При нажатии кнопки "Запуск сохр. процедуры" она выкидывает свои окна с запросом параметров процедуры не обращая внимания на те значения которые я ввел в форме. Я новичек в работе с Access и MS SQL но уже успел обратить внимание на скупость информации по работе с .adp проектами. Помогите кто чем сможет. PS Если кто знает ссылки на документацию по работе с adp-проектами - киньте их пожалуйста в это ветку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2002, 10:19 |
|
||
|
Сохраненная процедура MS SQL 2k с параметрами в .adp проекте в Access 2k
|
|||
|---|---|---|---|
|
#18+
Если процедура не является источником записей формы, то использовать InputParameters вообще не нужно. Подозреваю что это именно такой случай: Create Procedure "sp_test" @prm1 Int, @prm2 Int, @prm3 Int Output -- Для примера можно вернуть клиенту что-то через @prm3 As /*Set Nocount On --Если процедура возвращает набор записей и в процедуре Select более одного раза или есть Insert или Update то эта строка необходима!*/ /*Select * From SomeTable --Если процедура возвращает результирующий набор записей*/ Set @prm3 = @prm1 + @prm2 + @prm3 Return /*@prm1 + @prm2 + @prm3 --Если процедура возвращает специфичный код завершения (только Int)*/ На форме 3 поля: Поле1, Поле2, Поле3 и кнопка Кнопка1 Private Sub Кнопка0_Click() Dim cmd As ADODB.Command, rs As ADODB.Recordset Set cmd = New ADODB.Command cmd.ActiveConnection = CurrentProject.Connection cmd.CommandText = "sp_test" cmd.CommandType = adCmdStoredProc 'cmd.Parameters.Append cmd.CreateParameter(, adInteger, adParamReturnValue) 'Если нужно ловить код завершения cmd.Parameters.Append cmd.CreateParameter("@prm1", adInteger, adParamInput, , Me!Поле1) cmd.Parameters.Append cmd.CreateParameter("@prm2", adInteger, adParamInput, , Me!Поле2) cmd.Parameters.Append cmd.CreateParameter("@prm3", adInteger, adParamInputOutput, , Me!Поле3) cmd.Prepared = False 'Set rs = cmd.Execute 'Если процедура возвращает резулбтирующий набор записей '... 'rs.close 'Set rs = Nothing 'cmd.Execute 'Если не возвращает 'MsgBox cmd.Parameters(0) 'Так можно получить код завершения MsgBox cmd.Parameters("@prm3") Set cmd = Nothing End Sub Примерно так. Нужно добавить обработку ошибок. Если я не угадал и процедура все же источник записей формы, то несколько по другому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2002, 14:55 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3506&tid=1823983]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 341ms |

| 0 / 0 |
