|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Как с ВБАпликэйшин вытягивать данные с сиквела. Интересует именно как писать запрос: 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")) - Это мы получаем доступ к серверу , базе и таблице.(Записал макрос на импорт с сиквела) Но импорт выгружает мне всю таблицу - а я хочу писать гдето запрос с условиями. Как вообще записать тут запрос??? Куда его втулить? Может переменные какието надо? Где почитать об этом можно? Спасиба!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2004, 14:56 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Опять мимо форума... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2004, 14:57 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Кто-то знает как запросом выгрепсти из СКЛ2000 в Ексел??????????????? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2004, 15:53 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Кто-то знает как запросом выгрепсти из СКЛ2000 в Ексел??????????????? Это типа в качестве клиента в Скулу Эксел используется :) Круто. Уважаю ------------------ PS: Мы не ищем легких путей ------------------- как вариант: Заполняй rs (например ADO) и его уже раскидывай по Экселю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2004, 17:10 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Вопрос немного меняет смысл! Как записать запрос и .... - разобрался, но вот есть одна проблема: этот долбанный синтаксис ВБА "SELECT ma_Output.ContragentID" & Chr(13) & "" & Chr(10) & _ "FROM ma_Output, ma_#Contragent WHERE (""ma""_#Contragent"".ContragentID=""ma_Output"".ContragentID)") Это я работаю с одной базой . Нужно сделать вообще монстровый запрос по нескольким базам и тут проблема - не знаю как тут правильно обращаться к второй базе?!?!?! В СКЛ Аналайзире - работает замечательно а тут ....?!?!? Тоисть обращаюсь как - [База].dbo.[table].[pole] Может кто такой фигнёй страдал - подскажите плиззз!!! Спасиба! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2004, 11:49 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
авторВ СКЛ Аналайзире - работает замечательно а тут ....?!?!? Напишите ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2004, 12:55 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Например я хочу выгрепсти данные с двух баз сервера СК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] - это выражение ВБА "не нравится" . Как это решить пока не понимаю!!! Спасиба! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2004, 15:19 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
В ВБА же надо указать способ конекта: "ODBC;DRIVER=SQL Server;SERVER=sq1;UID=;APP=Microsoft Office 2003;WSID=sq1;DATABASE=Baza_1;Trusted_Connection=Yes" _ - в котором указывается только одна база - база [Baza_1] А ты указывай НИ ОДНОЙ базы И не мучайся. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2004, 15:44 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Написать "Ни одну базу" - не работает, мож я чего то нетак делаю. А с ХП - хорошая идея - Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2004, 18:07 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Написал ХП - а использовать её в ВБА не получается :( , мож кто подскажет? Спасиба! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2004, 11:06 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Мучался я с подобной проблемой, только обращался не к SQL, а к FoxPro базам. Единственное найденное мной решение - использовать FoxPro в качестве OLE-сервера (запускаешь его из под VBA, выполняешь нужные запросы, формируешь желаемую таблицу), потом готовую таблицу забираешь из под VBA через ADO. В твоем случае возможно есть смысл разобраться со "stored procedure", которые можно выполнять через ADO, но что это такое я не разбирался =) О них можно почитать в хелпах к методу Open для Recordset, точнее в описании CommandTypeEnum, используемы в опциях метода Open. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 12:41 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Вызывать ХП примерно так: 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? , вполне нормальная практика. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2004, 01:45 |
|
Запрос на ВБА
|
|||
---|---|---|---|
#18+
Задался я вот импортированием внешних данных в Excel, с помощью запросов. Итак есть база SQL, масером делаю запрос, получаю данные. Теперь вопрос: Юзер вводит в ячейку номер, во внешней базе SQL есть таблица, один столбез которой содержит эти самые номера, значение которых уникальны, а в другом поле номеру сопоставляесться некоторая текстовая инфа, которую я и хочу получить после выполнения запроса. Так вот как передать в запрос данные из ячейки??? Желаетельно без макросов. Ввод типа Cells(1, 1) или =Cells(1, 1) или А1 или =А1 не проканывают :( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2004, 14:56 |
|
|
start [/forum/topic.php?fid=61&msg=32512965&tid=2186728]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 269ms |
0 / 0 |