CustomFunction ricorsive
Moderatore: Moderatori
-
- Messaggi: 29
- Iscritto il: venerdì 21 aprile 2006, 2:00
- Località: Venezia
CustomFunction ricorsive
Ciao a tutti... c'ho provato, ma forse questa mattina proprio non connetto.
Dovrei fare una funzione ricorsiva semplice semplice... una cosa banalissima. Vediamo se qualcuno può darmi una dritta.
Dovrei fare questo semplice calcolo: Se la data è inferiore alla data odierna, aggiungi x anni. Se il risultato è ancora inferiore alla data odierna, aggiungi altri x anni... e via così finché il risultato diventa superiore alla data odierna.
Ho creato una CF che mi restituisce la data iniziale più x anni:
DataFinale ( DataIn ; nAnni ) -> [il risultato sarà: DataFinale ( 01/05/2002 ; 2 ) = 01/05/2004]
Ora: come creare la ricorsività?
Grazie mille a chi mi dà la dritta...
Dovrei fare una funzione ricorsiva semplice semplice... una cosa banalissima. Vediamo se qualcuno può darmi una dritta.
Dovrei fare questo semplice calcolo: Se la data è inferiore alla data odierna, aggiungi x anni. Se il risultato è ancora inferiore alla data odierna, aggiungi altri x anni... e via così finché il risultato diventa superiore alla data odierna.
Ho creato una CF che mi restituisce la data iniziale più x anni:
DataFinale ( DataIn ; nAnni ) -> [il risultato sarà: DataFinale ( 01/05/2002 ; 2 ) = 01/05/2004]
Ora: come creare la ricorsività?
Grazie mille a chi mi dà la dritta...
Bobby
-
- Messaggi: 703
- Iscritto il: lunedì 5 gennaio 2004, 1:00
-
- Messaggi: 29
- Iscritto il: venerdì 21 aprile 2006, 2:00
- Località: Venezia
Benissimo: If ( Data ( Mese ( Data_iniziale ) ; Giorno ( Data_iniziale ) ; Anno ( Data_iniziale ) ) < Get ( DataCorrente ) ; Data ( Mese ( Data_iniziale ) ; Giorno ( Data_iniziale ) ; Anno ( Data_iniziale ) + 1 ) )
Ma se questo risultato è ancora inferiore alla data odierna? Dovrei metterci un altro If... e così all'ennesima potenza finché non diventa superiore alla data odierna... Ricorsivamente, come faccio?
Grazie Rick!!!
Ma se questo risultato è ancora inferiore alla data odierna? Dovrei metterci un altro If... e così all'ennesima potenza finché non diventa superiore alla data odierna... Ricorsivamente, come faccio?
Grazie Rick!!!
Bobby
-
- Messaggi: 703
- Iscritto il: lunedì 5 gennaio 2004, 1:00
-
- Messaggi: 29
- Iscritto il: venerdì 21 aprile 2006, 2:00
- Località: Venezia
Ehm... ce l'ho fatta. In fondo non era poi così difficile, potevo pensarci un po' di più...
A presto...
Codice: Seleziona tutto
Funzione Personalizzata: DataFinale ( start ; anni )
Consenti (
end = Data ( Mese ( start ) ; Giorno ( start ) ; Anno ( start ) + anni ) ;
If ( end < Get ( DataCorrente ) ; DataFinale ( end ; anni ) ; end )
)
Bobby
-
- Messaggi: 29
- Iscritto il: venerdì 21 aprile 2006, 2:00
- Località: Venezia
Ehm... ce l'ho fatta. In fondo non era poi così difficile, potevo pensarci un po' di più...
A presto...
Codice: Seleziona tutto
Funzione Personalizzata: DataFinale ( start ; anni )
Consenti (
end = Data ( Mese ( start ) ; Giorno ( start ) ; Anno ( start ) + anni ) ;
If ( end < Get ( DataCorrente ) ; DataFinale ( end ; anni ) ; end )
)
Bobby