Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наполнить ADODB.Recordset данными из ХП / 8 сообщений из 8, страница 1 из 1
01.12.2004, 14:22:05
    #32807662
Leon.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
Access XP, ADP + MS SQL Server 2000, MDAC 2.8

На сервере создал хранимую процедуру [ap_Test], без параметров, возвращает набор строк (SELECT ... FROM ... WHERE...) -- работает в QA без проблем. Хочу в модуле Access'а создать рекодсет на основе строк, возвращаемых ХП. Делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim rst         As ADODB.Recordset
    Dim cmd         As ADODB.Command
    
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = CurrentProject.Connection
    cmd.CommandType = adCmdStoredProc
    cmd.CommandText = "[dbo].[ap_Test]"
    
    Set rst = cmd.Execute()
    rst.Open
    rst.MoveLast   'здесь возникает ошибка -- "operation is not allowed when the object is closed"
Что я делаю не так? Как правильно?

PS: похоже, сегодня день такой -- все спрашивают про ХП и ADO :-)
Подскажите и мне, пожалуйста -- на чужих примерах не научился..
...
Рейтинг: 0 / 0
01.12.2004, 14:44:46
    #32807724
ыыыыыы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
а зачем open делать
а на какой строчке конкретно ругается, обычно такие ошибки пишет на open рекордсета
...
Рейтинг: 0 / 0
01.12.2004, 14:50:42
    #32807745
Leon.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
Ругается на rst.MoveLast
Open делаю потому, что состояние rst после Set rst = cmd.Execute()
остается adStateClosed. Вот я и подумывал -- не надо ли открыть явно?
...
Рейтинг: 0 / 0
01.12.2004, 15:15:35
    #32807808
ыыыыыы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
у меня такая же конструкция без open
проходит без проблем
...
Рейтинг: 0 / 0
01.12.2004, 15:17:05
    #32807811
Birjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
А процедура сама отлажена?
Проверьте ее в QA. Возвращает ли она что-нибудь?
...
Рейтинг: 0 / 0
01.12.2004, 15:19:54
    #32807821
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
Код: plaintext
SET NOCOUNT ON
искать в форуме
...
Рейтинг: 0 / 0
01.12.2004, 15:21:23
    #32807828
Dats
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
А вот сдесь по-моему не так надо
cmd.CommandText = "[dbo].[ap_Test]"
а так
cmd.CommandText = "exec [dbo].[ap_Test]",

Можно проще сделасть, если не знаешь синтаксиса работы с SQL Server
На сервере ХП, на ее основе - View.
А View подключаешь к Access как связанную таблицу и работаешь с ней как с таблицей в Accesse.
...
Рейтинг: 0 / 0
01.12.2004, 15:32:35
    #32807863
Leon.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наполнить ADODB.Recordset данными из ХП
В QA все возвращает, ОК.
SET NOCOUNT ON -- это помогло, спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наполнить ADODB.Recordset данными из ХП / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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