Esegui una query SQL con un parametro da Excel 2007


21

Ho una query in una tabella di Excel. Ho seguito questo per farlo.

Ma come posso aggiungere un parametro da una cella alla mia query?

Sto cercando un modo per farlo:

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

Il Cell.A2 non funziona. Ma come posso aggiungere qualcosa di simile, in modo che il contenuto di una cella venga utilizzato nella mia query?


Hai provato a nominare la cella, quindi utilizzando il nome nella query anziché il riferimento di cella?

Risposte:


17

Non so perché MS lo abbia reso così complicato, dovrai usare Microsoft Query.

Fare clic su Dati -> Da fonti esterne -> Da query Microsoft. Scegli l'origine dati. Selezionare SQL Server, immettere i dettagli di autenticazione e selezionare la tabella

inserisci qui la descrizione dell'immagine

Fai clic su Avanti, non selezionare alcun criterio di filtro, scegli ordina per criteri, fai clic su Avanti. Ora, fai clic su Visualizza / Modifica in MS Query invece di selezionare Torna a Excel

inserisci qui la descrizione dell'immagine

Clicca su Fine. Ora in MS Query, fai clic su Criteri -> Aggiungi criteri, scegli l'operatore e lascia che sia il valore[]

inserisci qui la descrizione dell'immagine

Fai clic su File -> restituisci dati in Excel. Ora Excel dovrebbe richiedere il parametro, selezionare la cella pertinente

inserisci qui la descrizione dell'immagine

Per modificare i parametri, fare clic su Dati -> Proprietà -> Icona dito -> Definizione -> parametri

inserisci qui la descrizione dell'immagine


È inoltre possibile utilizzare l'editor di query SQL e digitare la query con i join e inserire un ?campo nel campo in cui deve essere recuperato il parametro.

inserisci qui la descrizione dell'immagine


Purtroppo, i parametri sono disabilitati.
Vaccano,

@Vaccano: rinnovata la mia risposta, per favore dai un'occhiata
Sathyajith Bhat

Grazie per lo sforzo su questo Sathya. Purtroppo mi sono reso conto che poiché la mia query contiene alcuni join, MS Query non può visualizzarla graficamente. Questo lo rende quindi non è possibile avere parametri. Lo farò come una funzione VBA. Ti sto annuendo però perché la tua risposta è stata così completa.
Vaccano,

2
@Vaccano: è possibile scrivere la query utilizzando l'editor SQL e inserire un ?campo nel campo in cui deve essere selezionato il parametro i.imgur.com/NgXxc.png
Sathyajith Bhat

2
Ho scoperto che una volta che la query è in Excel, puoi andare nella schermata dei parametri della query e modificarla lì senza andare di nuovo in MS Query. Basta rilasciare un? dove vanno i criteri. Quindi torna alla schermata delle proprietà della connessione e assegna quel parametro a una cella nel foglio di calcolo.
Tracy Probst,

1

Non è mai troppo tardi per una spina spudorata ...

C'è questo fantastico piccolo plugin per Excel ... (disclaimer: sono l'autore)

È un plug-in Excel che aggiunge un motore di database e un IDE SQL a Excel.

Ti consente di eseguire operazioni SQL su tutto ciò che è contrassegnato come una tabella all'interno di Excel. È possibile eseguire query tra le cartelle di lavoro e utilizzare anche le tabelle di un database esterno (SQL Server / Sqlite / Postgres / Access / MySql) nella stessa query.

Ha l'evidenziazione della sintassi SQL, il completamento delle istruzioni e un sacco di altre cose interessanti. Utilizza SQLite sotto il cofano, ma può utilizzare anche motori di database esterni per elaborare i dati.

Lo carico comunque, ma c'è una prova gratuita che puoi usare per 30 giorni. Si chiama ThingieQuery.

Mi dispiace per la spina, speriamo non sia troppo inappropriata.


-1

Metti valore come

where employeecode = '?'

Ciò abiliterà il pulsante del parametro, ma quando si preme ok verrà richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.