|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Доброго дня. Проблема. В тексте VBA есть написанный рабочий запрос к Oracle серверу из Excel. И в нём есть переменная, которую необходимо модифицировать с помощью ввода с клавиатуры Размер/вид - например 10671473724 Проблема в том, что при исполнении sql-запроса в нём передаётся не значение переменной, а её название... Подключение идёт через ADODB. P.S. Пока ищу в Google. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:10 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Эрик Скабичевскийпри исполнении sql-запроса в нём передаётся не значение переменной, а её название... У Oracle нет даже теоретического шанса узнать, какое значение имеет переменная в Excel. Просто подставляй вместо её имени само значение в текст запроса. Или используй запрос с параметром. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:13 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
AkinaЭрик Скабичевскийпри исполнении sql-запроса в нём передаётся не значение переменной, а её название... У Oracle нет даже теоретического шанса узнать, какое значение имеет переменная в Excel. Просто подставляй вместо её имени само значение в текст запроса. Или используй запрос с параметром. Как подставить само значение в текст запроса? Самомодифицировать код VBA ? Каким образом? Запрос уже нарисован, запрос уже нарисован, но не отправлен ещё в Oracle. Например - кусочек: sqlstr = "SELECT CODE, NAME FROM DATABASE " & _ " where ( client_id = read_from_keyboard AND list = 0) " rsOra.Open sqlstr, cnOra Как мне менять read_from_keyboard на набор цифири, введённой с клавиатуры, чтобы он корректно обрабатывался Oracle ? Если я меняю в запросе read_from_keyboard на циферки, то естессно - всё нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:34 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
При сборке Код: vbnet 1. 2.
либо при подготовке Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:41 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Пардон Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:41 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Спасибо огромное ! И в тему - небольшое уточнение. Почему при вводе name/pass через InputBox, например так: name = InputBox("Вводи имя", "Ввод") pass = InputBox("Вводи пароль", "Ввод") соединение cnOra.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=database;User ID=name;Password=pass" не работает ? логин/пароль, вбитый как строка - работает вполне прилично. И как исправить ? Заранее благодарю... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 18:00 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
потому что неправильно написали: Код: vbnet 1.
нужно так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 18:06 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Спаасибо. Работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 14:41 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, похожая задача, только хочу передать значение с определенной ячейки, в sql. Что то такое: Код: sql 1. 2. 3. 4.
На сколько понимаю, нужно обявить переменную, которая примет значение с ячейки: Код: vbnet 1. 2. 3.
П.С. С ВБА все плохо, подскажите если где то не прав... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 20:53 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Разобрался, может кому то пригодиться: Код: vbnet 1. 2.
Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 21:45 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
еще пробел перед where не забудь ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 21:45 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
да, спасибо! Все получилось... теперь интересует, можно ли несколько ечеек передать - масив? что-то по типу - "A10:А20" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:02 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
что бы более понятно - в диапазон вводят значения, необходимо что бы эти значения передались в фильтр (пока реализовал только для одного значения) column = переменная необходимо: column in (знач,знач,знач,знач ... ) еще_ не весь диапазон "A10:А20" может быть заполнен, в таком случае, передать column in (знач,знач,знач,знач, null, null... ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:16 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Дык пожалуйста Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:33 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Я тоже так подумал... но получил run-time error '13' : Type mismatch Вот мой пример: Код: vbnet 1. 2.
Код: vbnet 1. 2. 3.
Подозреваю, я неверно передаю переменную - масив, в sql ... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:42 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
причем тут sql? Ты пытаешься неявно преобразовать массив в строку. Ничего не выйдет, сериализуй явно ЗЫ: еще ошибка - IN в SQL требует скобок ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:44 |
|
Sql запрос из Excel к Oracle с изменяемыми переменными в запросе.
|
|||
---|---|---|---|
#18+
Shocker.Pro ЗЫ: еще ошибка - IN в SQL требует скобок это случайно Shocker.Proсериализуй явно - имеете ввиду через цыкл? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 17:47 |
|
|
start [/forum/topic.php?fid=60&fpage=27&tid=2155720]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 144ms |
0 / 0 |