Uruchom zapytanie SQL z parametrem z Excel 2007


21

Mam zapytanie w tabeli programu Excel. Wykonałem to, aby to zrobić.

Ale jak mogę dodać parametr z komórki do mojego zapytania?

Szukam sposobu, aby to zrobić:

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

Cell.A2 nie działa. Ale jak mogę dodać coś takiego, aby zawartość komórki była używana w moim zapytaniu?


Czy próbowałeś właśnie nazwać komórkę - a następnie użyć nazwy w zapytaniu zamiast odwołania do komórki?

Odpowiedzi:


17

Nie wiem, dlaczego MS uczyniło to tak skomplikowanym, będziesz musiał użyć Microsoft Query.

Kliknij Dane -> Ze źródeł zewnętrznych -> Z zapytania Microsoft. WYBIERZ Źródło danych. Wybierz SQL Server, wprowadź dane uwierzytelniające i wybierz tabelę

wprowadź opis zdjęcia tutaj

Kliknij Dalej, nie wybieraj żadnych kryteriów filtrowania, wybierz sortuj według kryteriów, kliknij Dalej. Teraz kliknij Wyświetl / Edytuj w MS Query zamiast wybrać Wróć do Excela

wprowadź opis zdjęcia tutaj

Kliknij przycisk Zakończ. Teraz w MS Query, kliknij Kryteria -> Dodaj kryteria, wybierz operator i niech wartość będzie[]

wprowadź opis zdjęcia tutaj

Kliknij Plik -> zwróć dane do Excela. Teraz Excel powinien monitować o parametr, wybierz odpowiednią komórkę

wprowadź opis zdjęcia tutaj

Aby edytować parametry, kliknij Dane -> Właściwości -> Ikona palca -> Definicja -> parametry

wprowadź opis zdjęcia tutaj


Możesz także użyć edytora zapytań SQL i wpisać zapytanie za pomocą sprzężeń i umieścić ?w polu, w którym należy pobrać parametr.

wprowadź opis zdjęcia tutaj


Niestety parametry są wyłączone.
Vaccano

@Vaccano: Zmieniono moją odpowiedź, proszę spojrzeć
Sathyajith Bhat

Dzięki za wysiłek na tej satji. Niestety zdałem sobie sprawę, że ponieważ moje zapytanie zawiera pewne sprzężenia, MS Query nie może wyświetlić go graficznie. To sprawia, że ​​nie możesz mieć parametrów. Zamierzam zrobić to jako funkcję VBA. Kiwam głową, ponieważ twoja odpowiedź była tak kompletna.
Vaccano,

2
@Vaccano: Możesz napisać zapytanie za pomocą edytora SQL i postawić ?przed polem, do którego należy wybrać parametr i.imgur.com/NgXxc.png
Sathyajith Bhat

2
Zauważyłem, że gdy zapytanie jest w Excelu, możesz przejść do ekranu parametrów zapytania i edytować go tam bez wchodzenia ponownie do MS Query. Po prostu upuść? gdzie spełniają kryteria. Następnie wróć do ekranu właściwości połączenia i przypisz ten parametr do komórki w arkuszu kalkulacyjnym.
Tracy Probst

1

Na bezwstydną wtyczkę nigdy nie jest za późno ...

Jest taka świetna mała wtyczka do Excela ... (zastrzeżenie: jestem autorem)

Jest to wtyczka programu Excel, która dodaje silnik bazy danych i SQL IDE do programu Excel.

Pozwala wykonywać operacje SQL na wszystkim, co jest oznaczone jako tabela w programie Excel. Można wyszukiwać w różnych skoroszytach, a także korzystać z tabel z zewnętrznej bazy danych (SQL Server / Sqlite / Postgres / Access / MySql) w tym samym zapytaniu.

Ma podświetlanie składni SQL, uzupełnianie instrukcji i kilka innych fajnych rzeczy. Używa SQLite pod maską, ale może również wykorzystywać zewnętrzne silniki db do przetwarzania danych.

Pobieram za to opłatę, ale istnieje bezpłatny okres próbny, z którego można korzystać przez 30 dni. Nazywa się ThingieQuery.

Przepraszamy za wtyczkę, mam nadzieję, że nie jest to zbyt nieodpowiednie.


-1

Podaj wartość jako

where employeecode = '?'

Umożliwi to przycisk parametru, ale po naciśnięciu ok wyświetli się monit.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.