begin process at 2008 08 08 21:37:25
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

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 : 2 666

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  
  • 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

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS