Croce postato qui:Utilizzare variabili per aggiungere il parametro campo
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])