Généralement, dans Crystal Reports, les valeurs d'un type ne peuvent pas être utilisées là où les valeurs d'un autre type sont attendues sans fournir explicitement une fonction de conversion de type. Par exemple :
Dim codePostal as String 'Erreur- une valeur numérique est affectée à une variable de type chaîne codepostal = 10025 'OK - utiliser la fonction de conversion de type CStr 'pour créer "10025" codepostal = CStr (10025, 0)
Cependant, quelques conversions sont effectuées automatiquement :
Par exemple, les affectations suivantes sont correctes :
Dim prix As Currency 'Equivalent à<:hs>: prix = CCur (10) prix = 10 Dim dateCommande As DateTime 'Equivalent à<:hs>: dateCommande = CDateTime (1999, 9, 23, 0, 0, 0) datecommande = CDate (1999, 9, 23) Dim plage As Number Range 'Equivalent à<:hs>: plage = 20 To 20 plage = 20 Dim TableauPlage () As Number Range 'Equivalent à<:hs>: 'TableauPlage = Array (10 To 10, 20 To 25, 2 To 2) intervalleplage = (10, 20 To 25, 2)
Remarque Les conversions dans le sens opposé ne sont pas autorisées. Par exemple :
Dim num As Number num = 5 + CCur (10) 'Erreur 'OK- convertir en type numérique à l'aide de la fonction CDbl num = CDbl (5 + CCur (10))
5 est converti en CCur (5) et ajouté à CCur (10) pour donner CCur (15). Cependant, cette valeur monétaire ne peut pas être affectée automatiquement à la variable numérique num puisque les conversions automatiques de devise en nombre ne sont pas permises. De même, un argument numérique peut être affecté à des fonctions acceptant un argument monétaire, et l'argument numérique sera converti en argument monétaire alors qu'il n'est pas possible d'affecter un argument monétaire aux fonctions acceptant un argument numérique sans d'abord convertir la valeur monétaire en valeur numérique à l'aide de la fonction CDbl.
Variables | Types de données simples | Types de données plage | Types de données tableau