powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как передать данные из ячейи Excel в sql запрос?
8 сообщений из 8, страница 1 из 1
Как передать данные из ячейи Excel в sql запрос?
    #34368321
antonv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример:
Есть таблица excel с двумя столбцами - "артикул" и "наименование", есть sql база, которая содержит такие же поля.
Нужно в в екселе в одной из ячейки столбца "артикул" ввести номер и в соседней ячейке столбца "наименование" получить наименование.
Сам запрос простейший - "select naimenovanie from table1 where artikul = ". Только вот как после "=" вставить номер из ячейки, например, A1?
Коннект к базе осуществляется через "Данные - Импорт внешних данных - Импортировать данные - Новое подключение к SQL серверу". Дальше подключаюсь к базе, выбираю таблицу. После чего, используя созданное подключение, пытаюсь сделать запрос, где в "типе команды" выбираю "SQL" и ниже пишу sql-запрос. И вот как в этом запросе использовать адрес конкретной ячейки?
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #34368508
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том виде как задача описана - никак.

Если хочешь делать запрос с параметрами, в запросе надо ставить вопросительный знак. Например:
Код: plaintext
select naimenovanie from table1 where artikul = ?
В следующий раз когда ты попытаешься обновить результаты запроса, Эксель потребует ввести данные для первого, второго и так далее параметров. Сколько вопросительных знаков встретится в запросе - столько параметров. В порядке их появления в запросе.
А там, в окне ввода парметра, можно будет привязать параметр к ячейке и каждый раз как данные в ячейке обновятся запрос автоматически освежится.
Но привязка делается ЖЕСТКО. Один параметр - одна ячейка. Никаких столбцов там задать не получится.
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #34616563
StMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аналогичная проблема ...
В запросе:
авторselect sum(t.summa)/100 from bo_report t where t.tdate=?
Поставил знак вопроса как подсказывали ..
В результате получаю: запрос не выполняеца или не удаеца найти базу данных
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #34616575
StMikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать тягаю данные из Oracle Database Server 9.2.03
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как передать данные из ячейи Excel в sql запрос?
    #39185088
Ktyfa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пытаюсь повторить этот фокус на MSSQL2005 - не выходит. Параметр ?, он переводит в @param1 и отказывается сохранять запрос в таком виде
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #39185213
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ktyfa,

как соединение создаёшь? VBA или ODBC ? дело в том что запрос с обновляемыми параметрами из ячейки возможен только при определённом типе подключения.
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #39185706
Ktyfa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikkivKtyfa, как соединение создаёшь? VBA или ODBC ? блин, какие же вы все умные..... На закладке "Данные" кнопочку я нажимаю "Из других источников" :( Но у меня сначала куча проблем с SQL. Таким образом (как я делаю) данные выбираются только из таблиц и представлений. А в представления нельзя записать запрос с параметрами. Параметры используются в хранимых процедурах/функциях, а Эксель к ним не обращается]
...
Рейтинг: 0 / 0
Как передать данные из ячейи Excel в sql запрос?
    #39187589
гр к
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ktyfa, переделай передачу параметров в хранимую процедуру чз VBA & ADO. ХП создает нужную таблицу, кот-я является источником внешних данных.
ЗЫ Как-то так:
Код: vbnet
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.
Sub a_WeekResultsExecute()
Dim MyCommand As ADODB.Command
Dim strExcelRange As String
Dim strStartCell, strSheetName, rows_count
Dim i As Long
Dim strCommandText
Call ini_param
Call OpenConnection
Set GetSourceCommand = New ADODB.Command
dd1 = Now
With GetSourceCommand
    .ActiveConnection = Connection
    .CommandText = "dbo.p_sel_WeekResults_t"
    .CommandType = adCmdStoredProc
    .NamedParameters = True
    .Parameters.Append .CreateParameter("@N", adInteger, adParamInput, , N_param)
    .Parameters.Append .CreateParameter("@d1", adDBDate, adParamInput, , d1_param)
    .Parameters.Append .CreateParameter("@d2", adDBDate, adParamInput, , d2_param)
    .Execute
End With
dd2 = Now
MsgBox "Расчеты произведены " & dd2, vbExclamation, dd1 & " !!! "

On Error GoTo KillAdo
Set GetSourceCommand = Nothing
CloseConnection
Exit Sub

KillAdo:
MsgBox "Ой, ошибка вышла. " & Err.Description, vbCritical
Set GetSourceCommand = Nothing
Set Connection = Nothing
Application.ScreenUpdating = True
End Sub
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как передать данные из ячейи Excel в sql запрос?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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