powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Результат выполнения ХП...
7 сообщений из 7, страница 1 из 1
Результат выполнения ХП...
    #32451730
SweetLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть ХП
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CREATE PROCEDURE dbo.spAddBoss
	@PersonID int,
	@ItemDate datetime,
	@BossID int,
	@CommentText  nvarchar( 250 )
	
AS 
DECLARE @LastDate datetime 

SELECT @LastDate = MAX([Смена руководителей].[Дата]) FROM [Смена руководителей]
WHERE [Смена руководителей].PersonID = @PersonID 

IF DATEDIFF(d,@LastDate,@ItemDate) <=  0  
	RETURN - 1 
ELSE
    BEGIN
	BEGIN TRAN	

		INSERT INTO [Смена руководителей] (PersonID, BossID, [Дата], [Комментарий])
			VALUES (@PersonID, @BossID,  @ItemDate, @CommentText )


		UPDATE Персонал SET BossID = @BossID
		WHERE PersonID = @PersonID

	COMMIT TRAN
	RETURN  0 
    END
GO



процедуру запускаю на выполнение из access 97
мне нужно обработать вариант когда
Код: plaintext
1.
2.
DATEDIFF(d,@LastDate,@ItemDate) <=  0  
	RETURN - 1 

и выдать сообщение пользователю.
подскажите можно ли это сделать и если да то как?
Спасибо
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32451779
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim cmd As New ADODB.Command
Dim prm As ADODB.Parameter

With cmd
'здесь назначаем соединение ActiveConnection
'ActiveConnection = ...
.CommandType = adCmdStoredProc
.CommandText = "spAddBoss"
Set prm = .CreateParameter("Return", adInteger, adParamReturnValue)
.Parameters.Append prm
'здесь добавляем входные параметры (PersonID,ItemDate etc.)
'...
.Execute Options:=adExecuteNoRecords
MsgBox = .Parameters(0)
End With
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32451787
SweetLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a если через DAO?
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32451790
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В DAO запрос к серверу, но с ReturnValue я так с ХП не работал, дальше не подскажу....
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32451804
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAO тоже поддерживат ReturnValue - но можно поступить проще (прозрачней) - ввести свой OutPut-параметр и не обращать внимание на значение Returnvalue
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32451838
SweetLana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, с Output параметром получилось
...
Рейтинг: 0 / 0
Результат выполнения ХП...
    #32452210
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и стандартным способом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Dim ws As Workspace
    Dim cn As Connection
    Dim strSQL As String
    Dim qd As QueryDef
    Set ws = CreateWorkspace( "ODBCWorkspace" ,  "admin" ,  "", dbUseODBC)
    Set cn = ws.OpenConnection(" YourBase ", dbDriverNoPrompt, False, _
    " ODBC;DSN=YourDSN;DATABASE=YourBase;Network=DBMSSOCN;Trusted_Connection=Yes ")
    strSQL = " {? = call dbo.spTest} "
    Set qd = cn.CreateQueryDef(" ", strSQL)
    qd.Parameters( 0 ).Direction = dbParamReturnValue
    qd.Execute
    MsgBox qd.Parameters( 0 )
    cn.Close
    ws.Close
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Результат выполнения ХП...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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