Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2749 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ACCESS] convertir virgules en points

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ACCESS] convertir virgules en points

n°1736026
alkashee
Si c'est pas beau ca !
Posté le 23-05-2008 à 09:58:59  profilanswer
 

Bonjour,
 
 
J'ai un form dans lequel j'ai un champ texte qui doit recevoir des chiffres avec des points (adresse IP en fait), le problème est que quand je tape sur le point décimal, il me sort une virgule :/
 
J'ai eu vent de soluce pour changer le caractère sur les evenements 'KeyDown' et 'KeyPress':
 

Code :
  1. Private Sub adresse_IP_KeyDown(KeyCode As Integer, Shift As Integer)
  2. If KeyCode = 188 Then KeyCode = 110
  3. End Sub


Code :
  1. Private Sub adresse_IP_KeyPress(KeyAscii As Integer)
  2. If KeyAscii = 44 Then KeyAscii = 46
  3. End Sub


Le problème c'est que:
 
                      1- Suivant l'évènement, il retourne des codes différents pour les touches (je pige pas pourquoi).
                      2- Bien que les codes des touches soient bon dans les deux fonctions (testées ensemble ou individuellement), il persiste à ne pas                                changer le caractère :/
 
 
Help !!

mood
Publicité
Posté le 23-05-2008 à 09:58:59  profilanswer
 

n°1737002
alkashee
Si c'est pas beau ca !
Posté le 26-05-2008 à 09:22:52  profilanswer
 

Personne n'a d'idée ? Je suis vraiment à la rue et ça me pose vraiment problème :/

n°1737048
kao98
...
Posté le 26-05-2008 à 10:48:20  profilanswer
 

Si mes souvenirs sont bons, je crois qu'il n'y a pas de solution miracle à ce problème.
Peut-être qu'utiliser un masque de saisie pourrait suffir ou aider ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1737176
seba1492
fdaniel mon héros :love:
Posté le 26-05-2008 à 13:41:48  profilanswer
 

Et avec une requête qui modifie la table non ? (Bon faut pas faire le con et avoi un backup bien au chaud)  :o

n°1737195
kao98
...
Posté le 26-05-2008 à 14:07:36  profilanswer
 

Rien à voir ! Là, il s'agit de saisie. Enfin, si j'ai bien compris !
 
Sous access, quand les paramètres régionaux de l'ordi indiquent que le symbole décimal est une virgule, si tu utilises le "point" du pavé numérique, il insère une virgule plutôt qu'un point. Il met le symbole décimal quoi !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1737225
xtrail38
Posté le 26-05-2008 à 14:39:11  profilanswer
 

Bonjour,
 
Essaies ça:
 
la_conversion = Replace(sa_saisie, ",", "." )
 
cdlt,
 

alkashee a écrit :

Bonjour,
 
 
J'ai un form dans lequel j'ai un champ texte qui doit recevoir des chiffres avec des points (adresse IP en fait), le problème est que quand je tape sur le point décimal, il me sort une virgule :/
 
J'ai eu vent de soluce pour changer le caractère sur les evenements 'KeyDown' et 'KeyPress':
 

Code :
  1. Private Sub adresse_IP_KeyDown(KeyCode As Integer, Shift As Integer)
  2. If KeyCode = 188 Then KeyCode = 110
  3. End Sub


Code :
  1. Private Sub adresse_IP_KeyPress(KeyAscii As Integer)
  2. If KeyAscii = 44 Then KeyAscii = 46
  3. End Sub


Le problème c'est que:
 
                      1- Suivant l'évènement, il retourne des codes différents pour les touches (je pige pas pourquoi).
                      2- Bien que les codes des touches soient bon dans les deux fonctions (testées ensemble ou individuellement), il persiste à ne pas                                changer le caractère :/
 
 
Help !!


n°1737290
kiki29
Posté le 26-05-2008 à 16:10:07  profilanswer
 

Trouvé sur le net via Gog : http://cjoint.com/?fAqjS51pg5
c'est du VB6 donc à priori transposable en VBA qui utilise un composant Mask Edit


Message édité par kiki29 le 26-05-2008 à 16:10:55
n°1737632
alkashee
Si c'est pas beau ca !
Posté le 27-05-2008 à 11:13:20  profilanswer
 

Et ben que de réponse en une journée ! Merci pour tout ca, je vous tiens au courant de ce que ça donne :)

n°1740168
alkashee
Si c'est pas beau ca !
Posté le 02-06-2008 à 11:41:30  profilanswer
 

Alors en fait, ça marche sans marcher... Je m'explique. Quand je lance le bouzin normalement, il ne veut absolument pas remplacer le caractère alors que si je le fais en pas-à-pas, il le fait -_-"
 
voila ce que ca donne:

Code :
  1. Private Sub adresse_IP_KeyPress(KeyAscii As Integer)
  2. Dim val As String
  3. Dim temp As String
  4. If KeyAscii = 46 Then
  5. val = Chr(46)
  6. temp = Replace(val, ".", "." )
  7. Adresse_IP.Value = Adresse_IP.Value & temp
  8. End If
  9. End Sub


(Je sais c'est moche mais bon à la guerre comme à la guerre)
 
 
 
Un peu bizzare cette histoire....Et quand je tape le point au dessus du point-virgule, il me le met ! Et comble de l'ironie, c'est le même code ASCII....


Message édité par alkashee le 02-06-2008 à 11:44:06
n°1740181
kao98
...
Posté le 02-06-2008 à 11:46:58  profilanswer
 

Tu ne veux vraiment pas faire un masque de saisie ? Ce serait bien plus simple !
Ou, très simple et rapide à faire : 4 zone de texte différentes, une par composante de l'adresse IP. Et pour passer d'un champs à l'autre quand on saisie un "point", c'est bien plus simple à mettre en place que ce que tu essaie de faire.
En plus, ça te permettrait de contrôler plus efficacement chaque composante saisie, parce que là, actuellement, il se passe quoi dans ton programme si je saisie 385.-25.32.999 ?

 


Message édité par kao98 le 02-06-2008 à 11:50:05

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
mood
Publicité
Posté le 02-06-2008 à 11:46:58  profilanswer
 

n°1740212
alkashee
Si c'est pas beau ca !
Posté le 02-06-2008 à 13:15:35  profilanswer
 

En fait c'est une deuxième mouture, la première consistait en un form avec 4 champs texte dans lesquels on saisissait les 4 octets séparément...Ayant trouvé un moyen de faire ce que je voulais sur l'adresse sans passé par 4 champs distincts, j'ai voulu faire ce form. Hélas ce foutu point me gâche la vie :/
 
Quand au contrôle il serait très simple, à la moindre erreur il renverrait sur  une msgbox disant " adresse erronée ou mauvaise saisie" :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ACCESS] convertir virgules en points

 

Sujets relatifs
Formulaire accesscopie de recordset? vba access
[Java - Mysql] JComboBox imbriquées - données venant de Bd accessProblème d'ouverture de formulaire en VBA sous Access 2007
[Résolu]Tester champs NULL sous access, étrange[access] requête de suppression dans un bouton de commande ?
Exécuter du code écrit dans une table Accessaccess 2003 à access 2007
[Access] Impossible d'ouvrir un étatConvertir varchar vers date UDB
Plus de sujets relatifs à : [ACCESS] convertir virgules en points


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR