IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Controle de la saisie dans un textbox


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Controle de la saisie dans un textbox
    Salut à tous
    Voila mon problème:
    Une Base acces 97, une table nommée "stock" un champs appelé "Prix unitaire"
    Type numérique
    taille reel simple
    format fixe
    decimale 2
    Null imterdit non
    indexe non



    Je fais une interface en vb4 pro pour gerer cette base;
    donc
    un data qui pointe sur la table stock
    record source: stock
    recordtype: 0 table


    Enfin sur l'interface j'ai 4 textbox qui sont dirige par le data et 1 qui a pour datafield
    le champs "Prix unitaire"
    Quand je teste, si je tape 12,25 avec la virgule du clavier ça passe.
    Si je tape 12.25 avec le point du pave numerique ça plante.
    En fait un bouton de commande est censé transferer dans la table l'enregistrement que je viens
    de faire avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Command2_Click()
     
        Dim Base As String
    Base = "INTRANTS.mdb"
     
      If DStock.Recordset.NoMatch Then
        DStock.BOFAction = 1
     
    End If
      DStock.UpdateRecord
      DStock.Recordset.Bookmark = DStock.Recordset.LastModified
     
    DStock.Refresh
    DgStock.Refresh
    DBGrid1.Refresh
     
    End Sub
    J'ai droit au message "erreur 524 erreur de conversion de type de donnée"

    Ce code dans le lostfocus du textbox me permet le controle de la saisie de chiffre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim i As Integer
    Dim c As String
     
    '---- Contrôle la validité de la saisie
        For i = 1 To Len(Text4.Text)
            c = Mid$(Text4.Text, i, 1)
            If c < "0" Or c > "9" Then
                MsgBox "Vous ne pouvez entrer que les chiffres de 0 à 9"
    '---- Erreur : place la sélection sur le 1er caractère erroné
                Text4.SelStart = i - 1
                Text4.SelLength = 1
                Text4.SetFocus         'focus sur numero
                Exit For
            End If
        Next
    La, je ne peut rentrer que les chiffres.
    Voila enfin la question:

    Comment on peut rajouter dans les carateres valable, le POINT du pave numerique?

    Esperant avoir ete assez clair
    Merci d'avance pour vos tuyaux
    jpphttp://www.developpez.net/forums/images/smilies/icon_redface.gif

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Je ne sais pas si c'est disponible avec VB4, j'ai débuter à bidouiller en VB avec la version 5. Regarde dans les controles supplémentaires s'il n'y aurais pas, par hasard, un MaskEdit ou quelque chose s'y rapprochant. Ce composant est très pratique pour éviter de saisir des caractères non désirés et aussi limiter la longueur de la chaîne. On peut même ajouter au masque des caractères comme des tirets entre les espaces réservés à la saisie comme pour un numéro de téléphone (ce qui est le cas en Amérique, par exemple).

    Si tu trouves pas, tu dis.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 8
    Points
    8
    Par défaut Ajoute le point dans la caratères autorisés
    Bonjour,

    Une solution consiste à modifier ton test:

    If c < "0" Or c > "9" Then

    doit devenir

    If (c < "0" Or c > "9") and (c <> ".") Then

    ce qui se traduit par si le caractère n'est pas un chiffre et qu'il n'est pas un point.

    Tu pourrais également convertir les points en virgule ou vice-versa.
    Le code suivant remplace le point par une virgule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    c = Mid$(Text4.Text, i, 1)              ' extraire le i-ème caractère
    If c = "." then                         ' si c'est un point
       c = ","                              '    il devient une virgule
       Mid$(Text4.Text, i, 1) = c           '    modifier le i-ème caractère 
    endif                                    ' fin si
    Et tout devient possible...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Mophi
    Merci pour la reponse
    J'avais bien tenté le AND mais j'avais pas mis de parentheses de part et d'autre du and.
    bonne journée a tous
    jpp

Discussions similaires

  1. Controler la saisie dans des textbox
    Par Msysteme dans le forum ASP.NET
    Réponses: 20
    Dernier message: 25/02/2009, 14h56
  2. Controle de la saisie dans un JPasswordField
    Par peute dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 04/06/2007, 12h18
  3. masque de saisie dans un textbox (exentric word)
    Par shirya dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/01/2007, 17h00
  4. connaitre le type saisi dans une textbox
    Par r83 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/01/2007, 21h36
  5. Contrôle sur données saisies dans un formulaire
    Par omega dans le forum Langage
    Réponses: 2
    Dernier message: 17/08/2006, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo