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

VBA Access Discussion :

Problème par rapport à un test numérique sur un champ VB


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 14
    Points
    14
    Par défaut Problème par rapport à un test numérique sur un champ VB
    Bonjour,
    J'ai crée un champ où je voulais empecher la saisie de valeurs non numériques ( c'est-à-dire des lettres ou signes spéciaux comme ? /* & .. ). J'ai utilisé la fonction isNumeric. Le problème est qu'apparemment cette fonction accepte les signes "+" et "-" mais seulement en début ou de fin de chaine.
    Par exemple, si j'entre " 45+48 ", ce n'est pas accepté. Mais si j'entre " -45" ou "78+" c'est accepté.
    j'ai rajouté une ligne qui est la suivante et qui en gros devait permettre de detecter la présence d'un signe "+" ou "-" en début ou en fin de chaines de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Br1 Like "?+" Or Br1 Like "+?" Or Br1 Like "?-" Or Br1 Like "-?" Then
             MsgBox "le format du champ doit être du format numérique xxxxxxxxxx,xx "
     
    End If
    Mais cette ligne n'est pas executée. Je me demande si elle est écrite correctement. Sachant que Br1 est la valeur saisie dans le champ.

    Est-ce que vous auriez une idée ?
    Je vous remercie par avance

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    bjr,

    le ? ne remplace qu'un caractère
    utilisez * à la place

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    Merci
    apparement le problème venait de là.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 30
    Points : 14
    Points
    14
    Par défaut
    En fait je viens de me rendre compte que le "&" n'est pas non plus pris en compte par la fonction isNumeric. Est ce que vous connaissez une fonction ou une manière de détecter toutes les lettres et caractères spéciaux ( pour qu'à la fin seuls des chiffres soient acceptés dans le champ).
    Merci

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    bjr

    on peut toujours faire une fonction qui regarde chaque caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Function IsOnlyNumber(pStr As String) As Boolean
    Dim lCpt As Long
    If Len(pStr) = 0 Then IsOnlyNumber = False: Exit Function
    IsOnlyNumber = True
    For lCpt = 1 To Len(pStr)
        If Not Mid(pStr, lCpt, 1) Like "[0-9]" Then
            IsOnlyNumber = False
        End If
    Next
    End Function
    pour les opérateurs possibles pour le like c'est ici :
    http://loufab.developpez.com/tutorie...operateurlike/

Discussions similaires

  1. [eZ Publish] Problème par rapport au paramétrage de eZ Publish
    Par skawll dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/02/2011, 14h13
  2. Réponses: 6
    Dernier message: 29/03/2009, 11h17
  3. Effectuer un ORDER by numérique sur un champs Varchar
    Par G_Kill dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 22/11/2006, 20h26
  4. filtre numérique sur un champ texte
    Par debdev dans le forum Access
    Réponses: 15
    Dernier message: 26/05/2006, 17h45
  5. [MySQL] Problème par rapport au tutoriel sur le stockage des images en base
    Par dark_vidor dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/09/2005, 10h37

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