Salve a tutti
Sono in VBA per Access e sto facendo dei calcoli dai dati di una tabella. Ho dei calcoli all'interno di un ciclo DO UNTIL....LOOP Con un contatore che va da 0 a 10
Ho dentro la seguente formula
Spec_Depr_Due_To_Inv(intContatore) = Nz(IIf(Depr_To_Capex_years(intContatore) = 0, 0, IIf((Year_cont(intContatore) < Depr_Start_Date_Year), 0, _
IIf((Year_cont(intContatore) = Depr_Start_Date_Year), ((13 - Depr_Start_Date_Month) / 12) * Nz(DSum("CapEx", "QueryFunzionaleXSomme")) / Depr_To_Capex_years(intContatore), _
IIf(Year_cont(intContatore) > Depr_Start_Date_Year + Depr_To_Capex_years(intContatore), 0, IIf(Year_cont(intContatore) = Depr_Start_Date_Year + Depr_To_Capex_years(intContatore), _
((Depr_Start_Date_Month - 1) / 12) * Nz(DSum("CapEx", "QueryFunzionaleXSomme")) / Depr_To_Capex_years(intContatore), Nz(DSum("CapEx", "QueryFunzionaleXSomme")) / Depr_To_Capex_years(intContatore)))))))
Malgrado la lunghezza, è abbastanza semplice ed ha una serie di IIF annidati. Ora quando il valore Depr_To_Capex_years(intContatore) assume il valore 0 la formula non si ferma e mi da il valore 0 come dice la prima riga, ma continua e mi da errore di DIV/0. Se metto numeri diversi da 0 la formula funziona perfettamente.
Esiste un modo per uscire da ciclo IIf in un determinato momento, del tipo:
IIf(Depr_To_Capex_years(intContatore) = 0, then (o Go To) e farlo uscire dal ciclo e assegnargli il valore 0?
Grazie per la disponibilità
Un saluto