Вот и я наконец понял это. Вот мои шаги.
- Откройте новый лист Excel (я использую Excel 2010)
- Нажмите на вкладку "Данные" на ленте.
- Нажмите на кнопку "Из других источников".
- Выберите "Из запроса Microsoft"
- Выберите источник данных
- Выберите любую таблицу, чтобы заполнить столбцы в окне запроса - это не имеет значения, поскольку мы переопределим ее позже - и нажмите кнопку Далее.
- Продолжайте нажимать дальше, пока не дойдете до кнопки "Готово", затем нажмите "Готово"
- Нажмите «Свойства ...»
- Перейдите на вкладку "Определение"
- Тип соединения должен иметь вид "Запрос к базе данных" - если он говорит, что вы можете добавить параметры, если нет, то кажется, что он не может добавлять параметры
- Обновите текст команды с помощью запроса, который вы хотите использовать для доступа к базе данных SQL - не пробовал с другими базами данных, но я уверен, что он будет работать на других
- Чтобы создать параметр, просто вставьте? в пункте, где. Например, выберите * из таблицы1, где col1 =?
Есть некоторые проблемы с добавлением параметров. Они работают только в последнем пункте, где. то есть, если вы используете подзапросы, сводки, cte и т. д., вы не можете добавлять параметры в них. Только в конце в последнем пункте, где
Дважды нажмите "ОК" - появится всплывающее окно с запросом параметра
Заполните что-нибудь - мы изменим это позже
Щелкните в любом месте результатов и нажмите "Свойства" на вкладке "Данные" на ленте.
Нажмите на маленький значок свойства руки
Нажмите на вкладку "Определение"
Теперь вы увидите, что кнопка «Параметры ...» активна. Щелкните по нему и измените параметр с запроса значения на Получить значение из следующей ячейки
Если кто-то найдет более быстрый и простой способ - я на уши, но это работает последовательно и с действительно большими сложными запросами. Так что для нас это правильное решение