powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возврат значения из хранимой процедуры (Access & SQL)
9 сообщений из 9, страница 1 из 1
Возврат значения из хранимой процедуры (Access & SQL)
    #39423571
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SQL создана хранимая процедура. Я хочу получить значение @patient_count в Access, только не нашла как это можно сделать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ALTER PROCEDURE [dbo].[proc_count_patients_visit]
	@date_1 Date,
	@date_2 Date,
	@patient_count int output
AS
SET NOCOUNT ON; 

select @patient_count = Count(id_patient_history)	
FROM patients_history 
WHERE momartvis_tarigi Between @date_1 And @date_2
return @patient_count
GO



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim t As Integer
Set dbsReport = CurrentDb
Set qdf = dbsReport.QueryDefs("sproc_count_patients_visit")
qdf.SQL = "EXEC proc_count_patients_visit @date_1='" & Format(Me.date_1, "yyyymmdd") & "', @date_2='" & Format(Me.date_2, "yyyymmdd") & "'"
qdf.ReturnsRecords = True

t = "@patient_count" ?????
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423583
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NickBell,
посмотрите этот топик http://www.sql.ru/forum/206930/vozvrat-znacheniya-iz-hranimoy-procedury
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423638
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, с Ado не пошло.
Что с Dao не нашла примеров.
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423642
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423645
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot NickBell]
попробуйте так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim rst AS DAO.Recordset
Dim t As Integer
Set dbsReport = CurrentDb
Set qdf = dbsReport.QueryDefs("sproc_count_patients_visit")
qdf.SQL = "EXEC proc_count_patients_visit @date_1='" & Format(Me.date_1, "yyyymmdd") & "', @date_2='" & Format(Me.date_2, "yyyymmdd") & "'"
qdf.ReturnsRecords = True
set rst = qdf.OpenRecordset(dbOpenSnapshot)
t=rst.Fields(0)
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423669
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Да, такой пример для Дао подошел. Большое спасибо за помощь.
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39423734
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickBellguest_rusimport,

Да, такой пример для Дао подошел. Большое спасибо за помощь.

В хранимой процедуре для SQL заменила следующим образом:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
ALTER PROCEDURE [dbo].[proc_count_patients_visit]
	@date_1 Date,
	@date_2 Date
AS
SET NOCOUNT ON; 

select Count(id_patient_history) AS RETURN_VALUE
FROM patients_history 
WHERE momartvis_tarigi Between @date_1 And @date_2


---------------
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub cmd_count_visit_Click()
Dim rst As DAO.Recordset
Set dbsReport = CurrentDb
Set qdf = dbsReport.QueryDefs("sproc_count_patients_visit")
qdf.SQL = "EXEC proc_count_patients_visit @date_1='" & Format(Me.date_1, "yyyymmdd") & "', @date_2='" & Format(Me.date_2, "yyyymmdd") & "'"
qdf.ReturnsRecords = True
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
Me.count_visit = rst.Fields(0)
End Sub
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39435719
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заменять процедуру не всегда есть возможность, поэтому для DAO делается так:
1)процедура остается как есть, она что то возвращает посредством RETURN
2)скрипт вызова процедуры, т.е. то что передается в свойство QueryDef.SQL переписывается так:
Код: sql
1.
2.
3.
4.
SET NOCOUNT ON;
DECLARE @retVal int;
EXEC [dbo].[proc_count_patients_visit] @d1, @d2, @pOut
SELECT @retVal;
...
Рейтинг: 0 / 0
Возврат значения из хранимой процедуры (Access & SQL)
    #39435724
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка (это как раз и ключевой момент), третья строка д.б.:
Код: sql
1.
EXEC @retVal = [dbo].[proc_count_patients_visit] @d1, @d2, @pOut
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Возврат значения из хранимой процедуры (Access & SQL)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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