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