Führen Sie eine SQL-Abfrage mit einem Parameter aus Excel 2007 aus

140172
Vaccano

Ich habe eine Abfrage in einer Excel-Tabelle. Ich folgte dies zu tun.

Aber wie kann ich meiner Abfrage einen Parameter aus einer Zelle hinzufügen?

Ich suche einen Weg, dies zu tun:

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

Das Cell.A2 funktioniert nicht. Aber wie kann ich etwas hinzufügen, damit der Inhalt einer Zelle in meiner Abfrage verwendet wird?

18
Haben Sie versucht, nur die Zelle zu benennen - dann den Namen in der Abfrage anstelle der Zellreferenz zu verwenden? vor 9 Jahren 0

3 Antworten auf die Frage

14
Sathya

Weiß nicht, warum MS dies so kompliziert gemacht hat. Sie müssen Microsoft Query verwenden.

Klicken Sie auf Daten -> Aus externen Quellen -> Aus Microsoft Query. Datenquelle auswählen wird angezeigt. Wählen Sie SQL Server aus, geben Sie die Auth-Details ein und wählen Sie die Tabelle aus

Klicken Sie auf Weiter, wählen Sie keine Filterkriterien aus, wählen Sie Sortieren nach Kriterien aus und klicken Sie auf Weiter. Klicken Sie nun in MS Query auf View / Edit, anstatt Return to Excel auszuwählen

Klicken Sie auf Fertig stellen. Klicken Sie nun in MS Query auf Kriterien -> Kriterien hinzufügen, wählen Sie den Operator aus und lassen Sie den Wert sein[]

Klicken Sie auf Datei -> Daten an Excel zurückgeben. Jetzt sollte Excel Sie zur Eingabe des Parameters auffordern und die entsprechende Zelle auswählen

Um die Parameter zu bearbeiten, klicken Sie auf Daten -> Eigenschaften -> Fingersymbol -> Definition -> Parameter


Sie können auch den SQL-Abfrageeditor verwenden und die Abfrage mit den Joins eingeben und ?das Feld, in dem der Parameter abgerufen werden muss, mit einem a versehen.

Leider sind die Parameter deaktiviert. Vaccano vor 13 Jahren 0
@Vaccano: Meine Antwort wurde umgestaltet, bitte schau es dir an Sathya vor 13 Jahren 0
Danke für die Mühe bei diesem Sathya. Leider erkannte ich, dass MS Query die Verknüpfungen in meiner Abfrage nicht grafisch anzeigen kann. Das bedeutet, dass Sie keine Parameter haben können. Ich werde es als VBA-Funktion machen. Ich gebe Ihnen das Nicken, weil Ihre Antwort so vollständig war. Vaccano vor 13 Jahren 0
@Vaccano: Sie können die Abfrage mit dem SQL-Editor schreiben und das Feld, in dem der Parameter ausgewählt werden muss, mit einem `?` Versehen http://i.imgur.com/NgXxc.png Sathya vor 13 Jahren 2
Ich habe festgestellt, dass Sie nach dem Abfragen der Abfrage in Excel in den Abfrageparameter-Bildschirm wechseln und dort bearbeiten können, ohne erneut in MS Query einzusteigen. Einfach einen fallenlassen? wohin die Kriterien gehen. Gehen Sie dann zurück zum Bildschirm mit den Verbindungseigenschaften und weisen Sie diesen Parameter einer Zelle in der Kalkulationstabelle zu. Tracy Probst vor 13 Jahren 2
@Tracy ja, das funktioniert auch! Sathya vor 13 Jahren 0
Wohin gehen alle Bilder? slotishtype vor 12 Jahren 0
@Slotishtype behoben. Nebeneffekt von [this] (http://meta.stackexchange.com/questions/95732/images-manually-uploaded-to-imgur-are-not-displaying/95734#comment-240583) Sathya vor 12 Jahren 0
0
Antonio Nakic Alfirevic

Für einen schamlosen Plug ist es nie zu spät ...

Es gibt dieses tolle kleine Plugin für Excel ... (Haftungsausschluss: Ich bin der Autor)

Es ist ein Excel-Plugin, das eine Datenbank-Engine und eine SQL-IDE zu Excel hinzufügt.

Sie können SQL-Vorgänge für alles ausführen, das in Excel als Tabelle markiert ist. Sie können über Arbeitsmappen abfragen und auch Tabellen aus einer externen Datenbank (SQL Server / SQLLite / Postgres / Access / MySql) in derselben Abfrage verwenden.

Es hat SQL-Syntax-Hervorhebung, Anweisungsabschluss und eine Reihe anderer cooler Dinge. Es verwendet SQLite unter der Haube, kann jedoch auch externe Datenbankmodule verwenden, um die Daten zu verarbeiten.

Ich bezahle das zwar, aber es gibt eine kostenlose Testversion, die Sie 30 Tage lang nutzen können. Es heißt ThingieQuery.

Entschuldigung wegen des Steckers, hoffentlich ist es nicht zu unangemessen.

-1
Slow Learner

Wert als setzen

where employeecode = '?' 

Dadurch wird die Parametertaste aktiviert. Wenn Sie jedoch OK drücken, werden Sie dazu aufgefordert.