Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EXEMPLE DE VALIDATION DE DONNÉES


Information sur la source

Catégorie :Base de Donnees Niveau : Débutant Date de création : 11/08/2003 Date de mise à jour : 11/08/2003 19:53:45 Vu : 3 009

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Validation des données contenues dans des textbox.  Utilise le 'Tag' du contrôle concerné.

Cette fonction peut se révéler utile pour valider les données avant leur sauvegarde dans une database, par exemple.
 

Source

  • Function IsValid() As Boolean
  • Dim Ctl As Control
  • For Each Ctl In Controls
  • If TypeOf Ctl Is TextBox Then
  • Select Case Ctl.Tag
  • Case "r" 'Le champs est requis
  • If Len(Trim(Ctl.Text)) = 0 Then
  • MsgBox Ctl.DataField & " : La donnée est requise !", vbExclamation
  • Ctl.SetFocus
  • SendKeys "^{HOME}+^{END}", True
  • Exit Function
  • End If
  • Case "n" 'Champs requis numérique
  • If Not IsNumeric(Ctl.Text) Then
  • MsgBox Ctl.DataField & " : La donnée doit être numérique !", vbExclamation
  • Ctl.SetFocus
  • SendKeys "^{HOME}+^{END}", True
  • Exit Function
  • End If
  • Case "+" 'Champs requis positif
  • If Not (IsNumeric(Ctl.Text) And Val(Ctl.Text) > 0) Then
  • MsgBox Ctl.DataField & " : La donnée doit être numérique positive !", vbExclamation
  • Ctl.SetFocus
  • SendKeys "^{HOME}+^{END}", True
  • Exit Function
  • End If
  • Case "-" 'Champs requis négatif
  • If Not (IsNumeric(Ctl.Text) And Val(Ctl.Text) < 0) Then
  • MsgBox Ctl.DataField & " : La donnée doit être numérique négative !", vbExclamation
  • Ctl.SetFocus
  • SendKeys "^{HOME}+^{END}", True
  • Exit Function
  • End If
  • End Select
  • End If
  • Next
  • IsValid = True
  • End Function
Function IsValid() As Boolean
Dim Ctl As Control
    For Each Ctl In Controls
        If TypeOf Ctl Is TextBox Then
            Select Case Ctl.Tag
                Case "r"                                 'Le champs est requis
                If Len(Trim(Ctl.Text)) = 0 Then     
                    MsgBox Ctl.DataField & " : La donnée est requise !", vbExclamation
                    Ctl.SetFocus
                    SendKeys "^{HOME}+^{END}", True
                    Exit Function
                End If
                Case "n"                                'Champs requis numérique
                If Not IsNumeric(Ctl.Text) Then    
                    MsgBox Ctl.DataField & " : La donnée doit être numérique !", vbExclamation
                    Ctl.SetFocus
                    SendKeys "^{HOME}+^{END}", True
                    Exit Function
                End If
                Case "+"                                'Champs requis positif
                If Not (IsNumeric(Ctl.Text) And Val(Ctl.Text) > 0) Then
                    MsgBox Ctl.DataField & " : La donnée doit être numérique positive !", vbExclamation
                    Ctl.SetFocus
                    SendKeys "^{HOME}+^{END}", True
                    Exit Function
                End If
                Case "-"                                 'Champs requis négatif
                If Not (IsNumeric(Ctl.Text) And Val(Ctl.Text) < 0) Then
                    MsgBox Ctl.DataField & " : La donnée doit être numérique négative !", vbExclamation
                    Ctl.SetFocus
                    SendKeys "^{HOME}+^{END}", True
                    Exit Function
                End If
            End Select
        End If
    Next
    IsValid = True
End Function
 

Conclusion

dans la propriété 'Tag' de chaque textbox concerné, entrer :

r si le champs est requis

n si le champs est requis et numérique

+ si le champs requis est numérique positif

- si le champs requis est numérique négatif  
 

Commentaires et avis

signaler à un administrateur
Commentaire de eren le 18/08/2005 14:34:15

Cette fonction marche très bien mais je n'ai compris l'utilité du SendKeys "^{HOME}+^{END}", True
Avec ou sans cela fonctionne

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.