PDA

View Full Version : problema differenza date access su funzione


john_revelator
06-02-2008, 01:27
Salve a tutti. Qualcuno mi saprebbe dire per quale motivo se in una tabella ho un campo di tipo date che contiene varie date, una delle quali ad esempio 01/01/2005, quando poi vado a eseguire la query mi viene restituito per tutti i record maggiore di 4


Function trascorsi(data)
Select Case data
Case DateDiff("yyyy", Year(Now), Year(data)) <= 4
trascorsi = "minore di 4"
Case Else
trascorsi = "maggiore di 4"
End Select
End Function


select data,trascorsi(data) as differ from tabella

Se anzichč delle date uso dei valori numerici il tutto funziona. Ho provato a castare il datediff ad intero, a usare la funzione format in tutte le salse ma niente. Dove diavolo sto sbagliando?
Non so pių dove :muro:
Buona notte e grazie :help:

p.s. non ditemi di usare iif perchč qui ho semplificato il problema ma a me serve proprio un case. :)

Crashbandy80
06-02-2008, 08:47
Ciao, considera che son reduce dal carnevale :D ..
comunque il problema potrebbe essere il fatto che il DateDiff fa la differenza tra due date e non tra due anni, dovresti quindi scrivere

Case DateDiff("yyyy", Now, data) <= 4

Considera inoltre che cosė come l'hai scritta tu viene sottratto l'anno di "Now" all'anno di "data", otterrai quindi sempre valori minori di 4.

Facci sapere se cosė facendo risolvi o meno.

cionci
06-02-2008, 14:37
Thread chiuso
|
V