powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как полуить параметр OUTPUT из хранимой процедуры?
2 сообщений из 2, страница 1 из 1
Как полуить параметр OUTPUT из хранимой процедуры?
    #32696214
Dims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой-то глюк! Я пмшу на VBA процедуры, "заворачивающие" хранимые процедуры в SQL-сервере.

В одном проекте я написал для это так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub TakeID(TypeID As Long, ByRef NewID As Long)
    Dim cat As New ADOX.Catalog
    Dim cmd As ADODB.Command
    
    Set cat.ActiveConnection = CurrentProject.Connection
    Set cmd = cat.Procedures("TakeID").Command
    cmd.Parameters.Refresh
    cmd.Parameters("Type") = TypeID
    cmd.Execute
    NewID = cmd.Parameters("NewID")
    
    cat.Procedures
End Sub

В другом проекте я написал по аналогии

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Function SorcTouch(Nam As String, Path As String, Params As String, TypID As SorcTypEnum) As Long
    Dim cat As New ADOX.Catalog
    Dim cmd As ADODB.Command
    
    Set cat.ActiveConnection = CurrentProject.Connection
    Set cmd = cat.Procedures("SorcTouch").Command
    
    With cmd
        .Parameters.Refresh
        .Parameters("ID") =  0 
        .Parameters("Nam") = Nam
        .Parameters("Path") = Path
        .Parameters("Params") = Params
        .Parameters("TypID") = TypID
        .Execute
        SorcTouch = .Parameters("ID")
    End With
End Function

И тут оказалось, что процедура по имени "SorcTouch" не находится, а надо искать её по имени "SorcTouch;1". Но если найти её по этому имени, то уже не работает член Command, говорит, что нет такого интерфейса. И да, читаю в справке, действительно SQLOLEDB не поддерживает член Command объекта Procedure.

Я ничего не понимаю. Почему тогда в другом проекте работало? Я ничего не менял, тот же сервер, тот же аксес. Ничччего не понимаю!

Димс.
...
Рейтинг: 0 / 0
Как полуить параметр OUTPUT из хранимой процедуры?
    #32696221
Dims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, в первом варианте лишняя строка cat.Procedures - это я справку хотел вызвать. Кстати, справка по ADO перестала вызываться!

Такое впечатление, что ночью приходил Билл Гейтс и переделал всё, чтоб работало согласно инструкции...

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


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