Задать вопрос
@zhaar

Как передать содержимое ячейки Excel в хранимую процедуру (SQL-запрос)?

Собственно задача довольно "простая", но т.к. с vb-скриптами плохо знаком, то прошу помощи.
В книге Экселя есть 2 листа. На первом листе указываются параметры, на второй лист выводится результат выполнения хранимой процедуры с SQL-сервера.
Как сделать, чтобы по нажатию кнопки на листе Эксель (ячейки и пр.) отрабатывал запрос на выполнение хранимой процедуры (именно ХП, прямой sql-запрос данных невозможен), скрипт смотрел, что указано на первом листе в ячейке A1 и указанное значение передавал в вызов процедуры?
Текст может содержать пробелы, поэтому введеное значение нужно передавать в кавычках param1='value 1'
  • Вопрос задан
  • 901 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
sql сервер не указан, поэтому на примере Oracle. Строку подключения можешь взять тут connectionstrings.com

Private Sub CommandButton1_Click()

    'Строка подключения
    cConn = "Driver={Oracle in OraClient11g_home1};Dbq=<SID>;Uid=<User>;Pwd=<Password>;"

    Dim Cn As ADODB.Connection
    Dim Cm As ADODB.Command

    Set Cn = New ADODB.Connection
    Cn.Open cConn
    
    Set Cm = New ADODB.Command
    
    Cm.ActiveConnection = Cn
    Cm.CommandText = " begin MyStorageProc('" + Range("A1") + "') end;"
    Cm.CommandType = adCmdText
    Cm.Execute

End Sub
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы