powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть ХП с параметрами в виде таблицы программно. Как?
12 сообщений из 12, страница 1 из 1
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865392
kk@comson.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал ХП. Тыкаю в нее в окне базы данных, ввожу руками значения параметров - открывается типа таблица. А как сделать то же программно?

Есть
Код: plaintext
DoCmd.OpenStoredProcedure "ИмяПроцедуры"
, но не понимаю, как туда значение параметра пихнуть?

Допустим, значение параметра @Код = 5

Код: plaintext
DoCmd.OpenStoredProcedure "ИмяПроцедуры 5"
- ругается
Код: plaintext
DoCmd.OpenStoredProcedure "ИмяПроцедуры (5)"
- ругается
Код: plaintext
DoCmd.OpenStoredProcedure "ИмяПроцедуры (@Код = 5)"
- ругается
Код: plaintext
DoCmd.OpenStoredProcedure "ИмяПроцедуры (@Код int = 5)"
- ругается

Какие еще могут быть варианты?
Заранее спасибо.
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865409
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CurrentProject.Connection.Execute "exec ИмяПроцедуры " & Cstr(5)
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865424
Alexander Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищи по форуму найдеш кучу примеров с запуском процедур с параметром.
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865443
kk@comson.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительCurrentProject.Connection.Execute "exec ИмяПроцедуры " & Cstr(5)

Alexander PopovПоищи по форуму найдеш кучу примеров с запуском процедур с параметром

Нет, не выполнить ("запустить") ХП (для этого несколько вариантов в ADO), а именно получить на экране таблицу, которую эта процедура возвращает. Это нужно, чтобы потом через меню Файл - Экспорт ... выполнить экспорт результатов в Excel.
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865500
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать форму - её содержимое и экспортировать в excel
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865545
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADP проект.

Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
'ALTER PROCEDURE listDealInstrumentType
'(
'   @sSource nvarchar(16)='ALL',
'   @iBalanceTypeCode int=null,
'   @sDealBalanceFlag nvarchar(1)=null
')
    
Public Sub LoadInstrumentType()

    Dim s As String
    
    s = ""
    
    With Me!iInstrumentTypeCode
        s = "exec listDealInstrumentType 'DEAL', "
        If Not IsNull(Me!iBalanceTypeCode) Then
            s = s & CStr(Me!iBalanceTypeCode) & ", "
        Else
            s = s & "null, "
        End If
        If Not IsNull(Me!sBalanceFlag) Then
            s = s & "'" & CStr(Me!sBalanceFlag) & "'"
        Else
            s = s & "null"
        End If
        .RowSource = s
        If .ListCount =  1  Then
            Dim rs As ADODB.Recordset
            Set rs = CurrentProject.Connection.Execute(.RowSource)
            .value = rs.Fields( 0 )
            .Enabled = True
            Set rs = Nothing
        Else
            .value = Null
            .Enabled = True
        End If
    End With
    Call iInstrumentTypeCode_AfterUpdate

End Sub

...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865552
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин! Это же я не в формы, а в во всяческие списки загоняю... Пардон...
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865567
kk@comson.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
Извините, что плохо искал, теперь нашел ответ - просто нельзя.

Alexey ShСделать форму - её содержимое и экспортировать в excel
Через форму тоже не получится, так как имена полей, которые возвращает процедура меняются (в этом вся фишка). Это могут быть поля "Январь" и "Февраль", или "Февраль" и "Март", и т. д.

Придется, похоже, опять руками
Код: plaintext
Excel.Application ...
экспорт делать. Как же надоело делать "через жопу", сколько этих Excel.Application ... уже написано!
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865662
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает на основе ХП-ки создать временную таблицу
а потом ее сожержимое слить в Excel через макрос?
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865681
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то давно я из 97-го экселя подключался к MSSQL6.5 через ODBC, не плохо работало.
Начать примерно надо так: через главное меню Данные -> Внешние данные -> выполнить запрос к БД.
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865688
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через форму тоже не получится, так как имена полей, которые возвращает процедура меняются (в этом вся фишка). Это могут быть поля "Январь" и "Февраль", или "Февраль" и "Март", и т. д.
классика
"Как повесить форму на перекрестный запрос"
поиск по форуму, умные книжки.

З.Ы. Кто мешает Excel.Range.CopyFromRecordset использовать???
...
Рейтинг: 0 / 0
Открыть ХП с параметрами в виде таблицы программно. Как?
    #32865756
kk@comson.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LatukЧто мешает на основе ХП-ки создать временную таблицу
а потом ее сожержимое слить в Excel через макрос?

В каком смысле временную?

CREATE TABLE #t (Поле1 int, Поле2 int, и т. д.)?

или

DECLARE @t table ....

Так она (таблица) умрет вместе с коннектом. После выполнения ХП я ее не увижу.

Можно создать не временную таблицу, а потом ее убить. Но всем пользователям нужно давать права на создание таблиц. Однажды (скажем, через год) я открываю энтерпрайз манагер и вижу... х-ва куча таблиц...

Позорный ЛохЗ.Ы. Кто мешает Excel.Range.CopyFromRecordset использовать???

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


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