powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры из Excel
13 сообщений из 13, страница 1 из 1
Вызов хранимой процедуры из Excel
    #36519864
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо вызвать хранимую процедуру с параметрами из Excel.
На данный момент, если не задавать параметры, то хранимка отрабатывает без проблем. Каким образом в нее передать параметры? При выполнении макрос ругается.
Подскажите, плиз.
И еще один вопрос, почему при выполнении макроса добавляется столбец? Как от этого избавиться?
Спасибо.

Код: 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.
Sub Macro2()

Dim acnt
Dim cmd

acnt = Range("A1")
cmd = "EXEC [dbo].[SSP_UP] " + acnt + "," + "1990001"



    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=SUN4;UID=sa;;APP=Microsoft Office 2003;WSID=J;DATABASE=TST" _
        , Destination:=Range("B6"))
        .CommandText = cmd
        .Name = "Result"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=True
    End With
End Sub
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520069
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПри выполнении макрос ругается
и как он ругается, надеюсь не матом? огласите текст ошибки


ЗЫЖ подозреваю, что проблема в передаче параметров
Код: plaintext
cmd = "EXEC [dbo].[SSP_UP] " + acnt + "," + "1990001"
А именно, какие параметры и какого типа вы пытаетесь передать?


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520129
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, не матом. )))
Выдает такое сообщение:
Код: plaintext
Run-time error ' 13 ': Type mismatch.
После нажатия на Debug попадает на строку
Код: plaintext
cmd = "EXEC [dbo].[SSP_RBC_UPDATE] " + acnt + "," + "1990001"
Нужно передать два параметра, один типа INT, второй типа CHAR.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520157
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джульетта
Нужно передать два параметра, один типа INT, второй типа CHAR .Строковый тип при передаче должен быть окружен одинарными кавычками.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520298
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
параметр находится в ячейке A1. Он определен
Код: plaintext
acnt = Range("A1")

Как его передать в хранимку?
Если поставить 'acnt' , то ругается на синтаксис.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520352
йцкйцк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cmd = "EXEC [dbo].[SSP_RBC_UPDATE] '" + acnt + "'," + "1990001"?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520382
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдает:
Код: plaintext
Run-time error ' 13 ': Type mismatch.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520445
йцкйцк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДжульеттаВыдает:
Код: plaintext
Run-time error ' 13 ': Type mismatch.
а если при склейке строки поменять "+" на "&" ?
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520474
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
а если при склейке строки поменять "+" на "&" ?
Да, заработало. Спасибо большое.
Остается только вопрос, почему при выполнении макроса добавляется столбец? Как от этого можно избавиться? ))
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520784
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и что Вы видете в этом столбце?
куда он всавляется в начало, всередину, в конец?


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36520860
РЕС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понял ваш запрос зашит в сводную таблицу. Просто снимите "галку" с ненужного столбца в ее настройках.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36521773
Джульетта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вставляется столбец B.
И пишет в ячейке B6 "Result" .

Код: plaintext
Насколько я понял ваш запрос зашит в сводную таблицу. Просто снимите "галку" с ненужного столбца в ее настройках.
Это не сводная таблица. Чистый worksheet с параметром в А1 и кнопкой, запускающей макрос.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры из Excel
    #36521836
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джульетта
Код: 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.
Sub Macro2()

Dim acnt
Dim cmd

acnt = Range("A1")
cmd = "EXEC [dbo].[SSP_UP] " + acnt + "," + "1990001"



    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=SUN4;UID=sa;;APP=Microsoft Office 2003;WSID=J;DATABASE=TST" _
        , Destination:=Range("B6"))
        .CommandText = cmd
        .Name = "Result"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=True
    End With
End Sub
Джульетта, ты выделенные строки видишь? Прочитай эти строки повнимательнее. Мысли никакие не появляются?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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