akhiro
Messages postés15Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention22 juin 2002
-
21 juin 2002 à 22:31
akhiro
Messages postés15Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention22 juin 2002
-
22 juin 2002 à 18:54
Bonjour,
Comment réaliser un controle sur la saisie de l'utilisateur dans un textbox qui ne doit contenir que des nombres (pas de lettres) mais qui ne doit pas tenir compte du zéro 0.
ce textbox sert dans l'enregistremnt de données dans une base access, et lorsque l'utilisateur clique sur le bouton enrrgistrer, le programme enregistre un zéro par défaut pour ces champs s'ils sont vide(sinon le prog plante...).
Pour faire simple :
Si l'utilisateur saisie 0,1,2,3,4,5,6,7,8,9,etc...
pas de pb, mais je ne veut pas qu'il puisse saisir des caractères majuscule ou minuscule
Merci d'avance.
fredlynx
Messages postés662Date d'inscriptionmercredi 16 janvier 2002StatutModérateurDernière intervention16 octobre 20103 21 juin 2002 à 23:05
Tu peux par les API dire à ta textbox de n'accepter que les chiffres..
*********** Déclarations
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Const ES_NUMBER = &H2000&
Public Const GWL_STYLE = (-16)
*********** Fonction
SetWindowLong Text1.hWnd, GWL_STYLE, GetWindowLong(Text1.hWnd, GWL_STYLE) Or ES_NUMBER
akhiro
Messages postés15Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention22 juin 2002 22 juin 2002 à 07:04
Bonjour,
Et bien je vais tester cette solution.
Une chose est sur c'est que quand je vois les lignes de code, je me dit que j'en ai encore à apprendre, ça c'est sur... J'aurais jamais trouve rça tout seul ;-)
Un grand merci.
akhiro
Messages postés15Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention22 juin 2002 22 juin 2002 à 18:54
Un collègue de formation m'a donné une autre solution pour laquelle j'ai opté :
ici superficie_bat représente évidemment le textbox dans lequel l'utilisateur devra saisir la superficie du batiment.... (donc que des chiffres) ;-)
Private Sub superficie_bat_KeyPress(KeyAscii As Integer)
If InStr(1, "0123456789", Chr$(KeyAscii)) = 0 And KeyAscii <> 9 And KeyAscii <> 8 Then ' 9 est le code pour 'Del' et 8 pour 'Backspace'
KeyAscii = 0 'n'affiche pas le caractère
End If
End Sub