Выполнить SQL-запрос с параметром из Excel 2007


21

У меня есть запрос в таблице Excel. Я следовал за этим, чтобы сделать это.

Но как я могу добавить параметр из ячейки в мой запрос?

Я ищу способ сделать это:

select *
from dbo.Customers
where CustomerID = Cell.A2

Cell.A2 не работает. Но как я могу добавить что-то подобное, чтобы содержимое ячейки использовалось в моем запросе?


Вы пробовали просто назвать ячейку, а затем использовать имя в запросе вместо ссылки на ячейку?

Ответы:


17

Не знаю, почему MS сделал это настолько сложным, вам придется использовать Microsoft Query.

Нажмите Данные -> Из внешних источников -> Из запроса Microsoft. Подходит источник данных Choose. Выберите SQL Server, введите данные аутентификации и выберите таблицу

введите описание изображения здесь

Нажмите «Далее», не выбирайте никаких критериев фильтрации, выберите сортировку по критериям, нажмите «Далее». Теперь нажмите View / Edit в MS Query вместо того, чтобы выбрать Return to Excel

введите описание изображения здесь

Нажмите на Готово. Теперь в MS Query, нажмите на Criteria -> Add Criteria, выберите оператор, и пусть значение будет[]

введите описание изображения здесь

Нажмите Файл -> Вернуть данные в Excel. Теперь Excel должен запросить у вас параметр, выберите соответствующую ячейку

введите описание изображения здесь

Чтобы редактировать параметры, нажмите Данные -> Свойства -> Значок пальца -> Определение -> Параметры

введите описание изображения здесь


Вы также можете использовать редактор SQL-запросов, ввести запрос с объединениями и поставить ?поле напротив поля, из которого должен быть выбран параметр.

введите описание изображения здесь


Увы, параметры отключены.
Vaccano

@Vaccano: Обновил мой ответ, пожалуйста, посмотрите
Сатьяджит Бхат

Спасибо за усилия по этому Сатья. Увы, я понял, что, поскольку в моем запросе есть несколько объединений, MS Query не может отобразить его графически. Это позволяет вам не иметь параметров. Я собираюсь сделать это как функцию VBA. Я даю вам кивок, потому что ваш ответ был таким полным.
Vaccano

2
@Vaccano: Вы можете написать запрос, используя редактор SQL, и поставить ?поле напротив поля, в котором должен быть выбран параметр. I.imgur.com/NgXxc.png
Сатьяджит Бхат

2
Я обнаружил, что, как только запрос в Excel, вы можете перейти на экран параметров запроса и редактировать его там, не заходя в MS Query снова. Просто брось? где критерии идут. Затем вернитесь на экран свойств подключения и присвойте этот параметр ячейке в электронной таблице.
Трейси Пробст

1

Никогда не поздно для бесстыдной вилки ...

Есть отличный плагин для Excel ... (отказ от ответственности: я автор)

Это плагин Excel, который добавляет ядро ​​базы данных и SQL IDE в Excel.

Это позволяет вам выполнять операции SQL над всем, что помечено как таблица в Excel. Вы можете выполнять запросы по всем книгам, а также использовать таблицы из внешней базы данных (SQL Server / Sqlite / Postgres / Access / MySql) в одном запросе.

Он имеет подсветку синтаксиса SQL, завершение операторов и кучу других интересных вещей. Он использует SQLite под капотом, но может также использовать внешние механизмы обработки данных для обработки данных.

Я взимаю плату за это, но есть бесплатная пробная версия, которую вы можете использовать в течение 30 дней. Это называется ThingieQuery.

Извините за штекер, надеюсь, это не слишком неуместно.


-1

Поместите значение как

where employeecode = '?'

Это активирует кнопку параметров, но когда вы нажмете «ОК», появится запрос.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.