Newsgroup: it.comp.appl.access
Titolo: Condizioe IIf in una stringa SQL in VBA

Ciao a tutti del newsgroup,
ho un problema:
da codice VBA devo eseguire una query che mi restituisca la media del
valore di un prodotto sulla base delle sue quotazioni registrate nel
mese precedente.
Il valore medio del prodotto è dato dal rapporto fra la quotazione e,
a seconda del campo valore, fra cambio Dollaro o sterlina. Ho creato
questa query che funziona, ma inserendola nel modulo di classe che
istanzio premendo un bottone, mi da errore in corrispondenza del
parametro "AND" . La mia domanda è: la condizione IIF la si può usare
in VBA??
SELECT  AZIENDA, CODice, " & _
"(Avg(IIf((([Valore]=0) AND
([Codice]='xxx')),([Valore1]/[Cambio$]),([Valore1]/[cambioSt])))) AS
ValoreMedio " & _
"FROM QUOTE QO INNER JOIN MP_QUOTED QD ON (QO.NRQUOTA = QD.NR_QUOTA)
AND (QO.AZIENDA = QD.AZIENDA) " & _
"WHERE (((Month([DATA])) = " & Mese & ") And ((QO.Valoe1) <> 0)) " & _
"GROUP BY QO.AZIENDA, QD.CODICE 
Grazie Anticipatamente

 ha scritto nel messaggio 
news:1138006774....@o13g2000cwo.googlegroups.com...
Ciao a tutti del newsgroup,
ho un problema:
da codice VBA devo eseguire una query che mi restituisca la media del
valore di un prodotto sulla base delle sue quotazioni registrate nel
mese precedente.
Il valore medio del prodotto č dato dal rapporto fra la quotazione e,
a seconda del campo valore, fra cambio Dollaro o sterlina. Ho creato
questa query che funziona, ma inserendola nel modulo di classe che
istanzio premendo un bottone, mi da errore in corrispondenza del
parametro "AND" . La mia domanda č: la condizione IIF la si puň usare
in VBA??
SELECT  AZIENDA, CODice, " & _
"(Avg(IIf((([Valore]=0) AND
([Codice]='xxx')),([Valore1]/[Cambio$]),([Valore1]/[cambioSt])))) AS
ValoreMedio " & _
"FROM QUOTE QO INNER JOIN MP_QUOTED QD ON (QO.NRQUOTA = QD.NR_QUOTA)
AND (QO.AZIENDA = QD.AZIENDA) " & _
"WHERE (((Month([DATA])) = " & Mese & ") And ((QO.Valoe1) <> 0)) " & _
"GROUP BY QO.AZIENDA, QD.CODICE
Grazie Anticipatamente
No.
In maschere e query IIf
In VBA If
Molto spesso si deve anche sostituire il  ";" con la  ","
Insomma il codice va un pň rielaborato
Inizia con il sostituire IIf con If .....
Ciao
Roberto 

 Inizia con il sostituire IIf con If .....
?
Visto che "IIf" č una funzione di VBA (sebbene non la piů performante)
certo si puo usarla nel codice.
Perň la sua domanda č incomprensibile per me.
Cosa fa col SQL, cosa intende con "eseguire una query" visto
che si tratta di un SELECT, cosa ha da fare con "Iif in VBA"
se usa una stringa SQL, cosa ha da fare col errore ecc.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
+ Conferenza Italiana per Sviluppatori di Access (CISA) 

manuela ha scritto:

Non ho controllato tutto, ma questa sicuramente è una delle cose da 
sistemare:
"(Avg(IIf((([Valore]=0) AND ([Codice]=" & chr(34) & "xxx" & chr(34) & 
")),([Valore1]/[Cambio$]),([Valore1]/[cambioSt])))) AS ValoreMedio " & _
Passando IIf come stringa puoi utilizzarlo, come condizione di VBA usa 
If, se il database è di tipo ADP (progetto SQL), non puoi utilizzarlo 
neppure come stringa in quanto i comandi sono diversi.
byEz
-- 
Claudio(BS)
L'unico problema per l'uomo non sta nella difficoltà delle sue imprese
ne' nella quantità di denaro necessario per compierle, ma nella durata
della sua esistenza. (Claudio 14.02.2004)
NB. Protezione antispam
Per rispondere aggiungere claudio