IIF NIDIFICATA

di il
2 risposte

IIF NIDIFICATA

Buongiorno,
mi trovo in una query e devo calcolare un campo.
ecco il codice che non mi funziona:
GARPERCOMM: IIf([MCC]="NO";([IMP FINANZIATO]*[GARANZIA])*2) Or IIf([GARANZIA]>50 And [MCC]="SI";[IMP FINANZIATO])
oppure
GARPERCOMM: IIf([GARANZIA]<=50 Or [GARANZIA]>=50 And [MCC]="NO";([IMP FINANZIATO]*[GARANZIA])*2) OR IIf([GARANZIA]>50 AND [MCC]="SI";[IMP FINANZIATO])
mentre questo mi funziona ma è monco:
IIf([GARANZIA]<=50 OR [GARANZIA]>=50 AND [MCC]="NO";([IMP FINANZIATO]*[GARANZIA])*2)
Questa iif mi serve per calcolare un importo in base a cosa è contenuto nei campi MCC e GARANZIA.

quindi TRADOTTO IN ITALIANO:
Se GARANZIA è >=0 oppure se GARANZIA è <=0 (semplificando nella seconda iif ho tolto questa condizione perché le includeva tutte) e se il campo MCC è "NO" allora l'importo da calcolare me lo devi calcolare così= (IMP FINANZIATO * GARANZIA)*2. Se invece la GARANZIA è > 50 e MCC è SI allora mi replichi quanto indicato nel campo IMP FINANZIATO.

Mi da come come risultato -1 o addirittura campo vuoto.

Dove sbaglio?

2 Risposte

  • Re: IIF NIDIFICATA

    Dalla descrizione si evince che la logica che vuoi applicare, schematicamente (in italiano) è quella sotto riportata:
    Se [MCC] = "SI" e GARANZIA > 50 allora l'importo da calcolare è uguale a [IMP FINANZIATO]
    se [MCC] = "NO" allora l'importo da calcolare è uguale a ([IMP FINANZIATO] * [GARANZIA])*2.
    considera che rimangono il casi in cui:
    [MCC] = "SI" e GARANZIA >= 50
    ed ove [MCC] è diverso da "SI" o "NO" (visto che sono stringhe e non valore booleano).
  • Re: IIF NIDIFICATA

    Ho risolto COSI'
    GARPERCOMM: IIf([GARANZIA]<=0,5;([IMP FINANZIATO]*[GARANZIA])*2;
     
    IIF([GARANZIA]>=0,5 And [MCC]="NO";([IMP FINANZIATO]*[GARANZIA])*2; 
    
    IIF([GARANZIA]>0,5 AND [MCC]="SI";[IMP FINANZIATO])))
    Per opportuna conoscenza di altri che magari incorrono nel mio stesso problema.

    grazie cmq
Devi accedere o registrarti per scrivere nel forum
2 risposte