Condividi tramite


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