CSNG |
Convertie en simple |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| CSng(expression) |
Paramètres
| Nom | Description |
|---|---|
| expression | Ce paramètre permet d'indiquer l'expression scalaire à traiter. |
Description
Cette fonction permet de convertir un type de données quelconque à un format de simple précision.
Remarques
- La fonction convertit une expression en nombre à simple précision : La fonction CSng transforme une expression compatible en une valeur de type Single (simple précision). Ce type de données permet de représenter des nombres réels avec une précision inférieure à celle du type Double. Il est principalement utilisé lorsque la précision maximale n'est pas indispensable.
- Le type Single occupe moins de mémoire que le type Double : Une variable de type Single est stockée sur 4 octets, alors qu'une variable de type Double nécessite 8 octets. Lorsque de très grandes quantités de données numériques sont manipulées, cette différence peut contribuer à réduire la consommation de mémoire. En contrepartie, la précision disponible est plus limitée.
- La fonction accepte différents types de données en entrée : Le paramètre peut être une constante numérique, une variable, une expression arithmétique, un champ d'une table ou encore une chaîne contenant une valeur numérique valide. CSng convertit automatiquement cette valeur vers le type Single lorsque cela est possible. Cette souplesse facilite le traitement de données provenant de différentes sources.
- Une conversion impossible génère une erreur d'exécution : Si l'expression ne représente pas un nombre valide, Microsoft Access retourne une erreur de conversion. Une chaîne contenant du texte ou un format numérique incorrect ne pourra pas être convertie. Pour rendre les applications plus robustes, il est conseillé de vérifier les données avec IsNumeric avant d'utiliser CSng.
- Le type Single utilise une représentation en virgule flottante : Comme le type Double, le type Single est basé sur une représentation en virgule flottante conforme au standard IEEE 754. Cette méthode permet de représenter une très grande plage de valeurs, mais peut introduire de légères erreurs d'arrondi. Il est donc déconseillé de l'utiliser pour les calculs financiers nécessitant une exactitude absolue.
- La fonction est adaptée aux calculs scientifiques courants : CSng est souvent utilisée dans des applications réalisant des calculs mathématiques, graphiques ou scientifiques où une précision d'environ sept chiffres significatifs est suffisante. Elle permet d'obtenir de bonnes performances tout en limitant la consommation mémoire. Pour des calculs nécessitant davantage de précision, il est préférable d'utiliser CDbl.
- Elle peut être utilisée dans les requêtes et dans le code VBA : La fonction CSng est disponible aussi bien dans les modules VBA que dans les requêtes SQL, les formulaires, les états et les contrôles calculés. Cette disponibilité permet de convertir directement des valeurs lors de leur traitement ou de leur affichage. Le comportement reste identique quel que soit le contexte d'utilisation.
- Elle appartient à la famille des fonctions de conversion de VBA : CSng fait partie des fonctions de conversion telles que CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng et CStr. Ces fonctions permettent de convertir explicitement une expression vers un type de données déterminé. Leur utilisation améliore la lisibilité du code et limite les conversions implicites réalisées par Access.
- Le choix entre CSng et CDbl dépend de la précision recherchée : Lorsque les calculs n'exigent pas une très grande précision, CSng constitue un bon compromis entre précision et occupation mémoire. En revanche, si les résultats doivent conserver un maximum de chiffres significatifs, CDbl est généralement préférable. Le choix du type numérique doit donc être effectué en fonction des besoins de l'application.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : La fonction CSng est présente depuis les premières versions de Microsoft Access intégrant VBA et son comportement est demeuré stable au fil des versions. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette compatibilité garantit le bon fonctionnement des applications utilisant cette fonction sur les différentes générations d'Access.
Exemple de code VBA
La fonction CSng peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LValue As Single
LValue = CSng(8.534535408)
Dans cet exemple, la variable LValue contiendrait maintenant la valeur 8,534535408.
Dernière mise à jour : Mardi, le 28 juillet 2015