Intervalli di date (sintassi Basic e Crystal)
È opportuno aggiungere che gli intervalli di date generati da queste funzioni dipendono dalla data corrente. Ad esempio, se la data corrente è 18.09.00, LastFullMonth è il valore dell’intervallo di date:
CDate(#1 Ago. 907,18kg) To CDate(#Ago. 31, 907,18kg)
Questa funzionalità è utile nella maggior parte dei casi; tuttavia, se si desidera determinare un intervallo di date in base a un campo del database, ad esempio {Ordini.Data ordine}, è possibile utilizzare le funzioni Date/Time.
Esempio di sintassi Basic
Dim d As Date
d = CDate ({Ordini.Data ordine})
Dim dr As Date Range
dr = DateSerial (Anno(d), Mese(d) - 1, 1) To _
DateSerial (Anno(d), Mese(d), 1 - 1)
'A questo punto dr è il valore dell'intervallo di date che contiene
'l'ultimo mese completo prima di {Ordini.Data ordine}
Esempio di sintassi Crystal
Local DateVar d := CDate ({Ordini.Data ordine});
Local DateVar Range dr;
dr := DateSerial (Anno(d), Mese(d) - 1, 1) To
DateSerial (Anno(d), Mese(d), 1 - 1);
//A questo punto dr è il valore dell'intervallo di date che contiene
//l'ultimo mese completo prima di {Ordini.Data ordine}
La funzione DateSerial agevola questa operazione in quanto consente di ignorare i casi speciali e impedisce la creazione di date non valide. Ad esempio, DateSerial (1999, 1 - 1, 1) è uguale a 1° dicembre 1998. Si noti che nell’esempio precedente {Ordini.Data ordine} è in effetti un campo DataOra, pertanto la funzione CDate viene utilizzata per convertirlo in una data troncando la parte relativa all’ora.
Vedere anche
Tipi di dati di intervallo | Esecuzione di calcoli nei report