powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запрос на ВБА
14 сообщений из 14, страница 1 из 1
Запрос на ВБА
    #32502803
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как с ВБАпликэйшин вытягивать данные с сиквела. Интересует именно как писать запрос:
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=Fit01;Use Procedure for Prepare=1;Auto Trans" _
, _
"late=True;Packet Size=4096;Workstation ID=FIT01;Use Encryption for Data=False;Tag with column collation when possible=False;Init" _
, "ial Catalog=umc"), Destination:=Range("A1")) - Это мы получаем доступ к серверу , базе и таблице.(Записал макрос на импорт с сиквела)
Но импорт выгружает мне всю таблицу - а я хочу писать гдето запрос с условиями. Как вообще записать тут запрос???
Куда его втулить? Может переменные какието надо? Где почитать об этом можно? Спасиба!!!!!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32502806
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять мимо форума...
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32502987
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то знает как запросом выгрепсти из СКЛ2000 в Ексел???????????????
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32503210
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то знает как запросом выгрепсти из СКЛ2000 в Ексел???????????????

Это типа в качестве клиента в Скулу Эксел используется :)

Круто. Уважаю
------------------
PS: Мы не ищем легких путей
-------------------


как вариант:
Заполняй rs (например ADO) и его уже раскидывай по Экселю
?
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32512849
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос немного меняет смысл! Как записать запрос и .... - разобрался, но вот есть одна проблема: этот долбанный синтаксис ВБА
"SELECT ma_Output.ContragentID" & Chr(13) & "" & Chr(10) & _
"FROM ma_Output, ma_#Contragent WHERE (""ma""_#Contragent"".ContragentID=""ma_Output"".ContragentID)")

Это я работаю с одной базой . Нужно сделать вообще монстровый запрос по нескольким базам и тут проблема - не знаю как тут правильно обращаться к второй базе?!?!?! В СКЛ Аналайзире - работает замечательно а тут ....?!?!?
Тоисть обращаюсь как - [База].dbo.[table].[pole]
Может кто такой фигнёй страдал - подскажите плиззз!!! Спасиба!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32512965
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ СКЛ Аналайзире - работает замечательно а тут ....?!?!?
Напишите ХП.
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32513272
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например я хочу выгрепсти данные с двух баз сервера СК1.
В Аналайзире я пишу:
Select [baza_1].dbo.[Table_1].[pole_1], [baza_2].dbo.[Table_2].[pole_2]
From [baza_1].dbo.[Table_1], [baza_2].dbo.[Table_2]
Where .....Тут Аналайзер понимает ([baza_1].dbo и [baza_2].dbo) обращение к разным базам . В ВБА же надо указать способ конекта:
"ODBC;DRIVER=SQL Server;SERVER=sq1;UID=;APP=Microsoft Office 2003;WSID=sq1;DATABASE=Baza_1;Trusted_Connection=Yes" _
- в котором указывается только одна база - база [Baza_1] . И тут появляется проблема когда мне надо получить дпнные с двух баз!
From [baza_1].dbo.[Table_1], [baza_2].dbo.[Table_2] - это выражение ВБА "не нравится" . Как это решить пока не понимаю!!! Спасиба!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32513326
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ВБА же надо указать способ конекта:
"ODBC;DRIVER=SQL Server;SERVER=sq1;UID=;APP=Microsoft Office 2003;WSID=sq1;DATABASE=Baza_1;Trusted_Connection=Yes" _
- в котором указывается только одна база - база [Baza_1]
А ты указывай НИ ОДНОЙ базы
И не мучайся.
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32513730
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать "Ни одну базу" - не работает, мож я чего то нетак делаю.
А с ХП - хорошая идея - Спасибо!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32515877
Фотография AKhludeyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал ХП - а использовать её в ВБА не получается :( , мож кто подскажет? Спасиба!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32563324
polycarbonate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мучался я с подобной проблемой, только обращался не к SQL, а к FoxPro базам.
Единственное найденное мной решение - использовать FoxPro в качестве OLE-сервера (запускаешь его из под VBA, выполняешь нужные запросы, формируешь желаемую таблицу), потом готовую таблицу забираешь из под VBA через ADO.
В твоем случае возможно есть смысл разобраться со "stored procedure", которые можно выполнять через ADO, но что это такое я не разбирался =)
О них можно почитать в хелпах к методу Open для Recordset, точнее в описании CommandTypeEnum, используемы в опциях метода Open.
Удачи!
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32564036
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У объекта Range есть метод CopyFromRecordset. Может поможет ?
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32572805
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызывать ХП примерно так:
Dim <variable>
cmdProc.ActiveConnection = <your connection string>
cmdProc.CommandText = <name of stored procedure>
cmdProc.CommandType = adCmdStoredProc
Set prmDateB = New ADODB.Parameter //some input variable

prmDateB.Type = adChar
prmDateB.Size = 10
prmDateB.Direction = adParamInput
prmDateB.Value = <some value>

cmdProc.Parameters.Append prmDateB
Set rstRecords = cmdProc.Execute
do while not rstRecords.eof()
......
loop

Для запроса из нескольких баз , без использования ХП врядли получиться.
Можно использовать другой вариант, если ты хочешь тексты запросов писать в VBA.
Создаешь БД на сервере, делаешь View , которые собирают данные из разных источников, причем можно обновлять View, если наложишь constraint , при условии: таблицы в разных БД должны иметь согласованную политику ключевого поля.

to paparome:
А что здесь сложного, использовать в качестве клиента Excell? , вполне нормальная практика.
...
Рейтинг: 0 / 0
Запрос на ВБА
    #32601928
Flaer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задался я вот импортированием внешних данных в Excel, с помощью запросов.
Итак есть база SQL, масером делаю запрос, получаю данные. Теперь вопрос: Юзер вводит в ячейку номер, во внешней базе SQL есть таблица, один столбез которой содержит эти самые номера, значение которых уникальны, а в другом поле номеру сопоставляесться некоторая текстовая инфа, которую я и хочу получить после выполнения запроса.
Так вот как передать в запрос данные из ячейки??? Желаетельно без макросов.
Ввод типа Cells(1, 1) или =Cells(1, 1) или А1 или =А1 не проканывают :(
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запрос на ВБА
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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