Страницы: 1
RSS
Варианты написания запросов к БД через VBA, sql и vba
 
Добрый день!
Есть рабочий запрос создаваемый макросом vba, но выгрузка не отфильтрованная. Связи с автором нет.
Сам рабочий запрос создаваемый VBA:  
Код
[adm].[dbo].[mp_g_p_moo_mono_i];1 '1', 'ALL'
Не могу нагуглить и понять синтаксиса: базы "mp_g_p_moo_mono_i" нет, есть только база "mono_i" , но в ней нет многих колонок из "mp_g_p_moo_mono_i"

Хочу сделать что-то вроди  
Код
SELECT * FROM [adm].[dbo].[mp_g_p_moo_mono_i] WHERE ....
Но такой sql запрос выдает ошибку что таблицы нет.
Помогите понять как сделать  sql запрос к этой базе (mp_g_p_moo_mono_i)
или что за язык запроса прописан в vba.
 
Доброе время суток
Цитата
Luc написал:
Да и вопрос о вариантах написания SQL запросов к базе данных через VBA
А вы можете доказать, что текст запроса к базе данных Microsoft SQL Server в VBA чем то отличается от текста запроса в SQL Server Management Studio? Если ни чем, то не лучше ли задавать вопрос по написанию текста запроса на профильных форумах, например sql.ru?
 
Форумы, книги и инструкции не содержат описаний такого формата написания запроса ( возможно плохо просмотрел первый десяток страниц поиска). Да и на sql.ru отсылают сюда так как это через а не sql запрос, а какой-то через VBA.

А отличие есть - при создании подключения через VBA , хотя "тип команды "SQL"" пишется совершенно не типичный запрос не имеющий ни селектов ни прочих явных атрибутов
[adm].[dbo].[mp_g_p_moo_mono_i]; - видимо объект                     1 '1', 'ALL'  - видимо фильтрация свойств

Поэтому и тема создана здесь, так как это функционал Экселя  в запросах/ подключении к БД
 
Цитата
Luc написал:
Да и на sql.ru отсылают сюда так как это через а не sql запрос, а какой-то через VBA.
Тогда приложите код того самого vba, не стесняйтесь :)
 
Код
With Sheets("Trade").ListObjects.Add(SourceType:=0, Source:="ODBC;DRIVER=SQL Server;

SERVER="DE-TRADE";UID="LOG";PWD="PW";APP=Microsoft Office 2016;WSID=NAME", 

Destination:=Sheets("Trade").Range(Sheets("Trade").Range("F1048576").End(xlUp).Offset(1, 0).Address)).QueryTable

.CommandText = Array("""adm"".""dbo"".""mp_g_p_moo_mono_i"";1 '1', 'ALL'")
Блок создания запроса к БД
Изменено: Luc - 21.08.2019 11:27:43
 
Luc, а так сработает?
Код
EXEC [adm].[dbo].[mp_g_p_moo_mono_i] 'ALL'
Что-то мне подсказывает, что это процедура которой передаются параметры.
 
Luc, гляньте
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Oleg Boyaroff написал:
что это процедура
Это может быть, только вот точка с запятой смущает - она то перед 1 '1', 'ALL' к чему? А ТС продолжает стесняться выкладывать код.
Страницы: 1
Наверх