PDA

View Full Version : problemi con IIF ... AND


fede1977
21-06-2012, 10:51
Nel database degli associati che ho realizzato devo fare una query che mi restituisca un promemoria per ricordare,due mesi precedenti alla scadenza della tessera associativa, che appunto scade il periodo e va rinnovata la tessera. Ora, la formula che ho inserito è la seguente:

PROMEMORIA: IIf(([Persone]![ScadenzaTessera])> Date() AND <Date()+60;"ATTENZIONE STA SCADENDO LA TESSERA";"")

Ma mi dà errore. Allora ho provato a cambiarla con questa, inserendo due volte IIf:

IIf(([Persone]![ScadenzaTessera])>(Date()) And IIf ([Persone]![ScadenzaTessera]<Date()+60;"ATTENZIONE, STA SCADENDO LA TESSERA";"")

ma ugualmente c'è qualcosa che mi sfugge e non riesco a capire cosa...
C'è qualcuno che sa trovarmi l'errore? Grazie!

!fazz
22-06-2012, 11:00
io userei un between

http://www.techonthenet.com/sql/between.php

fede1977
26-06-2012, 10:32
Sì, l'uso di between risolve la cosa:
PROMEMORIA: IIf(([Persone]![ScadenzaTessera]) Between Date() And Date()+30;"LA TESSERA STA PER SCADERE";"")

Ora però si pone un altro problema; se io intendo mettere un'altra condizione IIf all'interno di questa funzione, come devo fare? Devo mettere un AND alla fine della funzione, cioè:

IIf(([Persone]![ScadenzaTessera]) Between Date() And Date()+30;"LA TESSERA STA PER SCADERE";"") AND IIf (([Persone]![ScadenzaTessera]) Between Date() And Date()+60;"ricorda di mandare la lettera;"")

Però non mi sembra che sia corretto...

fede1977
30-07-2012, 10:03
Ho risolto con la funzione SWITCH:

Espr1: Switch(([Persone]![ScadenzaTessera]) Between Date() And Date()+30;"LA TESSERA STA PER SCADERE";([Persone]![ScadenzaTessera]) Between Date() And Date()+60;"LETTERA AVVISO SCADENZA TESSERA")

:D

xcdegasp
01-08-2012, 09:32
si potrebbe comunque usare il forum correttamente e trovare le sezioni più idonee.
thread spostato :O