1. ХП
ALTER PROCEDURE dbo.SpisFifo1
(@idR int,@ret int output)
AS
set @ret=0
... ну и т.д
в конце, если ХП отработала до конца
set @ret=1
VBA
Public Function FifoT()
Dim cmd As ADODB.Command, prm As ADODB.Parameter
Set cnn = CurrentProject.Connection
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandText = "SpisFiFo1"
cmd.CommandType = adCmdStoredProc
Set prm = cmd.CreateParameter("@idr", adInteger, adParamInput, , 0)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@ret", adInteger, adParamOutput)
cmd.Parameters.Append prm
cmd.Execute
DoEvents
DoCmd.Hourglass (0)
If cmd.Parameters("@ret") = 1 Then
MsgBox "Текущее списание по FIFO проданного товара Закончено!!!", 64,
"Списание по FIFO Текущее"
Else
MsgBox "ОШИБКА при Cписании по FIFO !!! ", 64, "Списание по FIFO Текущее"
End If
End Function
2. Кокда запускаю ХП из окна ACCESS, на запрос параметра idr даю 0, ХП проводит всю обработку до конца (есть ХП - проверяет все ли записи обработаны). В этом случае - ВСЕ.
Когда из программы запускается
Function FifoT() - обрабатываются не все записи
- @ret пустое
Вот такие пироги...