Как изменить предложение SQL WHERE через Excel? - PullRequest
0 голосов
/ 17 мая 2019

Я построил SQL-запрос, чтобы предоставить мне исторические данные о цене продукта, которые я намереваюсь использовать в Excel (сводная диаграмма, графики, все эти необычные вещи в Excel).

Проблема сейчас в том, что из-за природы многих продуктов и многих изменений цен я не могу загрузить все продукты, которые я намереваюсь загрузить.

Мне как-то нужно сказать Excel, чтодолжен изменить пару чисел в подключенном SQL-запросе, то есть через текстовое поле, а затем снова загрузить запрос.В противном случае я всегда буду открывать редактор запросов в Excel и менять его вручную, что занимает совсем немного времени.

Я считаю, что мне придется использовать какой-то макрос или VBA, но я никогда не использовал его.Если бы кто-нибудь мог отослать статью, которая была бы великолепна, я не смог бы найти ничего полезного.

Некий код:

  WHERE


 PD.Product_Id = '11761476'  < I will have to change that number  


AND

PSPH.[Valid_To] > '2018-01-01'


ORDER BY 
PSPH.[Valid_To]

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Чтобы манипулировать строкой SQL , вы можете сделать что-то вроде этого ..

pid = "11761476"
validto = "2018-01-01"

SQLtemplate = "WHERE PD.Product_Id = '[prodID]' AND PSPH.[Valid_To] > '[validto]' ORDER BY PSPH.[Valid_To]"

Sql = Replace(SQLtemplate, "[prodID]", pid)
Sql = Replace(Sql, "[validto]", validto)

но прежде чем вы сможете использовать это, вам нужно будет следовать совету @ Foxfire и записывать макрос, пока вы меняете его вручную, чтобы точно узнать, что нужно изменить и как.

0 голосов
/ 17 мая 2019

Вместо этого вы можете указать это в соединении:

WHERE
PD.Product_Id = '11761476'  < ? 
AND
PSPH.[Valid_To] > '2018-01-01'
ORDER BY 
PSPH.[Valid_To]

А затем сохраните соединение.

При первом запуске программа спросит вас, где найти параметр, и вы сможете выбрать ячейку.

Дайте мне знать, если это работает!

Приветствия

Arnaud

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...