Le type Date/heure peut contenir des dates-heures, des dates seules ou des heures seules. Le type Date ne prend en compte que les dates et le type Heure ne prend en compte que les heures. Les types Date et Heure sont plus efficaces que le type Date/heure, et peuvent ainsi être utilisés dans des situations dans lesquelles les fonctionnalités et la souplesse supplémentaires du type Date/heure ne sont pas nécessaires.
Visual Basic ne prend pas en charge des types séparés pour le traitement des dates seules ou des heures seules. La syntaxe Basic de Date/heure est similaire à celle du type Date de Visual Basic.
Vous pouvez créer directement des valeurs de type date/heure en utilisant la construction des littéraux de date-heure. Pour cela, il faut taper les données date-heure entre deux signes (#). De nombreux formats sont pris en charge, tout comme dans Visual Basic.
Remarque Les littéraux de date-heure ne peuvent pas occuper plusieurs lignes.
Exemples
#8/6/1976 1:20 am# #August 6, 1976# #6 Aug 1976 13:20:19# #6 Aug 1976 13:30:15# #8/6/1976# #10:10am#
Même si #10:20 am# semble être du type Heure et #8/6/1976# semble être du type Date, ce n'est pas le cas. Ces expressions sont toutes deux au format Date/heure, comme c'est le cas pour tous les littéraux de date-heure. Vous pourriez, par exemple, penser que l'expression #10:20 am# est une valeur de type date/heure dont la partie date est nulle. Pour la convertir en type Heure, utilisez CTime (#10:20 am#).
Au lieu d'utiliser des littéraux de date-heure, vous pouvez utiliser la fonction CDateTime pour convertir une valeur de type chaîne en une valeur de type date/heure. Par exemple :
CDateTime ("8/6/1976 1:20 am") CDateTime ("10:20 am")
Il y a cependant une différence fondamentale entre l'utilisation des littéraux de date-heure et l'utilisation faite ci-dessus de la fonction CDateTime. Les littéraux de date-heure utilisent toujours les formats de date anglo-américains et non les paramètres régionaux de l'ordinateur particulier sur lequel s'exécute Crystal Reports. Ainsi, les exemples de littéraux de date-heure ci-dessus devraient fonctionner sur tous les ordinateurs. D'un autre côté, sur un système français, vous pourriez utiliser des constructions comme :
CDateTime ("22 août 1997") 'Identique à #Aug 22, 1997#
Des valeurs de date peuvent être construites à l'aide de CDate et des valeurs d'heure à l'aide de CTime :
CDate ("Aug 6, 1969") CDate (1969, 8, 6) 'Spécifier l'année, le mois, le jour 'Convertit l'argument de type date/heure en valeur de date CDate (#Aug 6, 1969#) CTime ("10:30 am") CTime (10, 30, 0) 'Spécifier l'heure, les minutes, les secondes CTime (#10:30 am#)