powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / приём данных из хранимой процедуры в recordset
6 сообщений из 6, страница 1 из 1
приём данных из хранимой процедуры в recordset
    #39818741
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, коллеги.
Access 2003 формат mdb.
Хранимая процедура возвращает с SQL Server-а набор данных в формате ADODB.Recordset. Пытаюсь его назначить на форму - выдаёт ошибку :
Указанный объект не может являться значением свойства "набор записей" (Recordset)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  Dim rs As adodb.Recordset
  Dim cmd  As adodb.Command
  
  OpenDBConnect "mydb"
'---------------------------------
  Set cmd = New adodb.Command
  cmd.ActiveConnection = cn
  cmd.CommandText = "proc_name"
  cmd.CommandType = adCmdStoredProc

  cmd.Parameters.Refresh ' запрашиваем параметры для вызова процедуры

  cmd.Parameters("@name").value = ... ' задаём параметры для вызова функции
  cmd.Parameters("@pass").value = ...

  Set rs = cmd.Execute ' принимаем результаты запроса процедуры в rs

  Set dealerdynamic_order.Form.Recordset = rs ' пытаемся этот adodb-рекордсет назначить на форму 


на этом месте ругается

Но если делать не через процедуру, а напрямую запросом к sql-евским таблицам, то прокатывает.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  Dim rs As ADODB.Recordset
  
  Set rs = New ADODB.Recordset
  With rs
     Set .ActiveConnection = cn
     .source = "SELECT code,id FROM unit"
     .CursorLocation = adUseClient
     .CursorType = adOpenStatic
     .LockType = adLockReadOnly
     .Open
  End With

  Set Me.filterUnit.Recordset = rs
  filterUnit.Requery


Но напрямую нельзя держать открытыми таблицы на сервере, зато можно делать запросы к ним из функций-процедур.
.... Можно конечно в цикле построчно передавать каждый элемент списка, но так дольше. Подскажите плиз, кто знает.
...
Рейтинг: 0 / 0
приём данных из хранимой процедуры в recordset
    #39818755
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно не помню, но попробуй так
Вер
melihron
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  
 Dim cmd  As adodb.Command
  
  OpenDBConnect "mydb"
'---------------------------------
  Set cmd = New adodb.Command
  cmd.ActiveConnection = cn
  cmd.CommandText = "proc_name"
  cmd.CommandType = adCmdStoredProc

  cmd.Parameters.Refresh ' запрашиваем параметры для вызова процедуры

  cmd.Parameters("@name").value = ... ' задаём параметры для вызова функции
  cmd.Parameters("@pass").value = ...
With rs
     .CursorLocation = adUseClient
     .CursorType = adOpenStatic
     .LockType = adLockReadOnly
     .Open cmd
  End With
...
Рейтинг: 0 / 0
приём данных из хранимой процедуры в recordset
    #39818756
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
melihron, забыл дописать
Код: vbnet
1.
2.
3.
  Dim rs As ADODB.Recordset
  
  Set rs = New ADODB.Recordset
...
Рейтинг: 0 / 0
приём данных из хранимой процедуры в recordset
    #39818763
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
етить... получилось... большое спасибо! : )
...
Рейтинг: 0 / 0
приём данных из хранимой процедуры в recordset
    #39818932
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжение темы )
теперь сумму по полученным столбцам не считает... выражение =sum(amount) даёт ошибку
...
Рейтинг: 0 / 0
приём данных из хранимой процедуры в recordset
    #39818948
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
melihronтеперь сумму по полученным столбцам не считает...и фильтр, скорее всего работать не будет...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / приём данных из хранимой процедуры в recordset
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]