powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возврат значения из ХП
9 сообщений из 9, страница 1 из 1
Возврат значения из ХП
    #32715524
Фотография vma_mnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, как получить значения из ХП в код VBA.

С функцией не получается, так как создаются временные таблицы
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715542
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например

create procedure test as
begin
declare @a integer,@b varchar(50)
set @a=1
set @b='zxc'
select @a as cola,@b as colb
end

результаты в рекордсете
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715551
Фотография vma_mnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Shнапример

create procedure test as
begin
declare @a integer,@b varchar(50)
set @a=1
set @b='zxc'
select @a as cola,@b as colb
end

результаты в рекордсете

Что-то не соображу как это сделать.

MyRecordset.Open "SELECT * FROM ...", Connection

Вот на открытии рекордсета и споткнулся
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715606
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо SELECT .... нужно писать EXEC test
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715706
Фотография vma_mnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранимая процедура содержит команду
Код: plaintext
select @АбПлата as AP

В QA выполнение команды
Код: plaintext
exec С_НачислениеАбПлаты  5701 , 23 

выводит таблицу с колонкой AP и значением @АбПлата, то есть то, что надо.

В VBA команда

Код: plaintext
1.
2.
3.
Set Cn = CurrentProject.Connection
Set S1 = New Recordset

S1.Open "exec С_НачислениеАбПлаты 5701,23", Cn

выполняется нормально, а на
Код: plaintext
MsgBox (S1!AP)

сообщение, что не удается найти объект S1!AP

как из рекордсета получить значение AP
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715815
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CurrentProject.Connection.Execute("dbo.ХП " & Параметр).Fields(0).Value
или
CurrentProject.Connection.Execute("dbo.ХП " & Параметр).Fields(0)

Если возвращаемый рекордсет имеет только одно значение
CurrentProject.Connection.Execute("dbo.ХП " & Параметр)("МоеПоле")

PS CurrentProject.Connection.Execute() возвращает рекордсет
к свойствам которого ты и обратишся
если надо его сохранить для дальнейшего использования
то надо сохранить ссылку на него в переменной

Dim rs as ADODB.Recordset

SET rs=CurrentProject.Connection.Execute("dbo.ХП " & Параметр)
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715869
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй в хранимке добавить после As Set nocount on
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32715871
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати параметры хранимки пишутся ПЕРЕД As
...
Рейтинг: 0 / 0
Возврат значения из ХП
    #32716275
Фотография vma_mnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk
Dim rs as ADODB.Recordset

SET rs=CurrentProject.Connection.Execute("dbo.ХП " & Параметр)

Вот этого и не хватало, спасибо
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возврат значения из ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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