2012-10-23 12 views
5

Croce postato qui:Utilizzare variabili per aggiungere il parametro campo

http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

Sto usando ADO per recuperare i dati da MS Access in Excel, e voglio aggiungere un IIF nella parte SELEZIONA della mia interrogazione . La mia stringa SQL è memorizzata in un file di testo e tutti i parametri vengono aggiunti tramite ADO.

so come aggiungere i parametri nella clausola WHERE, e può anche aggiungere i parametri nell'istruzione SELECT in questo modo:

SELECT BA, Iif(QA=[@somestring],[@somestring2], [@somestring3]) 
FROM myData 
WHERE BA = 'some person' 

Ma quello che sto cercando di realizzare è quello di trasformare un segnaposto [@somestring] in una dichiarazione di Iif lunghezza variabile, come ad esempio:

SELECT BA, [@somestring]  

E il segnaposto si traduce in una stringa ho costruito usando una funzione:

Iif(QA='Jon Doe', 'Jon', Iif(QA='Jane Doe', 'Jane', 'Nobody')). 

In questo momento, il risultato che ottengo è la stringa letterale che passo al parametro che popola l'intero campo. Quindi l'istruzione Iif è letteralmente scritta per ogni record, piuttosto che essere valutata da SQL.

È ciò che sto cercando di fare anche possibile, o SQL ha bisogno del campo per l'istruzione Iif predefinito nel comando iniziale?

esempio, IIF (QA = [@ somestring], [@ sometstring2], [@ somestring3])

risposta

0

Questo è un taglio-e-incolla direttamente dal VBForums. È una wiki della comunità e ha l'unico scopo di rimuovere questa domanda da "nessuna risposta". Può essere cancellato o modificato a seconda dei casi.


DA: http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

DA: si_the_geek

Non è possibile, è possibile utilizzare solo i parametri per impostare i valori, si non si può fare altre cose con loro (come ad come nomi di campi/tabelle, funzioni, ecc.).

Se si desidera modificare le altre parti della query, è necessario utilizzare altri metodi (come la creazione di stringhe). Nell'esempio alla fine di il tuo post, dovresti aggiungerlo alla stringa di query e aggiungere i valori tramite parametri.

Problemi correlati