MSAccess ADP + хранимая процедура с параметрами как источних данных формы.
|
|
Четверг, 20 Марта 2014 г. 12:35
+ в цитатник
Есть процедура, отбирающая записи из базы с определенными параметрами, делающая нужные рассчеты в базе и отдающая результат. Если открывать процедуру просто из окна аксеса, заполнить параметры руками и запустить, то данные отбираються очень быстро.
Данные на форме "напрямую" не редактируются.
Попробовал назначить процедуру как источник данных формы в конструкторе, при запуске формы появляются окна с запросами параметров. Как их заполнить программно ДО открытия формы не нашел.
Пошел по пути назначения ADODB.Recordset как рекордсет формы. Делаю так:
Dim recset as ADODB.Recordset
Dim comm as ADODB.Command
set comm = new ADODB.Command
set reсset = new ADODB.Recordset
comm.CommandType = adComStoredProc
comm.CommandText = "sp_ViewStore"
comm.ActiveConnection = CurrentProject.Connection
comm.Parameters.Refresh
--
Заполняю параметры
--
recset.CursorType = adOpenStatic
recset.CursorLocation = adUseServer
recset.LockType = adLockReadOnly
set recset = comm.Execute(true)
set Me.Recordset = recset
Вот запуск процедуры в таком варианте идет порядка минуты, что неприемлимо и не совсем понятно почему так долго. Пробовал и клиенский, и серверный курсор - результат одинаковый.
Почему так долго и как с этим бороться?
http://www.sql.ru/forum/1083826/msaccess-adp-hranimaya-procedura-s-parametrami-kak-istochnih-dannyh-formy
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-