Запрос в VBA-excel

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
shturman
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 27.11.2003 (Чт) 15:49

Запрос в VBA-excel

Сообщение shturman » 27.11.2003 (Чт) 16:03

Есть: БД в *.mdf-файле на сервере, под SQL.
Надо: вытащить из нескольких таблиц этой БД информацию на xls-лист (например из scl_nakl - organiz, tel, address, из scl_move - name_predm, kolch_predm, из scl_artc - edin_v_upak).
Проблема: как лучше это сделать? Не используя ActiveSheet (может, выгрузка во временную таблицу), не указывая путь к файлу БД (может, у кого-нибудь есть примеры)
-----
Или, хотя бы, как в запрос передать переменную значение которой задается в форме?
---
mYear = Year(txtDate)
mMonth = Month(txtDate)
mDay = Day(txtDate)
mDate = "{ts '" & Trim(Str(mYear)) & "-" & Trim(Str(mMonth)) & "-" & Trim(Str(mDay)) & " 00:00:00'}"

With Sheets(1).QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER=dbsrv;UID=sa;PWD="";DATABASE=My_DataBase;Address=serv,1433" _
, Destination:=Range("A7"))
.CommandText = Array( _
"SELECT * (текст запроса) WHERE DATE={ts '2003-11-26 00:00:00'}))")
--------

{ts '2003-11-26 00:00:00'} - как вместо этого впихнуть mDate, которая выбирается в форме?

Saper
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 10.02.2003 (Пн) 9:38
Откуда: Russia

Сообщение Saper » 28.11.2003 (Пт) 16:49

Дату для запроса лучше формировать так:
DateBeg = "{ts '" & Format(DateBeg, "yyyy-mm-dd") & " 00:00:00'}"
DateEnd = "{ts '" & Format(DateEnd, "yyyy-mm-dd") & " 00:00:00'}"
если далать как в примере, то 1 декабря программа выдаст ошибку.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 256

    TopList