Datagrid + '.' ou ','

Signaler
Messages postés
14
Date d'inscription
vendredi 1 mars 2002
Statut
Membre
Dernière intervention
11 septembre 2009
-
Messages postés
361
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
12 novembre 2009
-
J'ai un datagrid et j'aimerais y integrer des decimales dans une colonne associé à un champ decimal. Le probleme est quand je tabule le "." du pave numerique il ecrit "." et non pas "," comme prévu depuis les parametres regionnaux. Comme le "." n'est pas une valeur decimale il annule immediatement la valeur tapé. je n'arrive meme pas à recuperer la valeur ecrite dans mon datagrid malgrés un currentcell, toute idee est la bienvenue.

1 réponse

Messages postés
361
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
12 novembre 2009
2
Salut,

Tu peux modifier la valeur écrite avant la mise à jour dans la BD en utilisant l'évènement 'BeforeColUpdate'. Tu peux alors modifier ton '.' en ',' en utilsant une fonction du type:
Public Function TransDecimal(MyValue As String) As String
If InStr(1, MyValue, ",", vbTextCompare) > 0 Then
TransDecimal = Mid(MyValue, 1, InStr(1, MyValue, ",", vbTextCompare) - 1) & "." & Mid(MyValue, InStr(1, MyValue, ",", vbTextCompare) + 1, Len(MyValue) - InStr(1, MyValue, ",", vbTextCompare) + 1)
Else
TransDecimal = MyValue
End If
End Function

A+
0