Verif saisie !!

Résolu
cs_pierre63 Messages postés 50 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 9 mars 2009 - 2 févr. 2005 à 17:45
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 - 24 juil. 2005 à 12:41
Bondoir à tous !

Voila j'ai une feuille avec environ 100 controle de saisie et de case a cocher

je voudrais pourvoir en quittant la page si l'uttilisateur a saisie ou
cliquer qq chose ou non et si il a cliquer ou saisie alors j'affiche un
message pour savoir si il veux enregistrer !

Mais je ne veux pas verifier les controle un par ou renommer mes controle de la meme façon pour jouer avec l'index !

Existe -t-il une fonction qui permet de savoir si l'utilisateur a fait une frape au clavier oua cliquer sur la souris ??

Pierre63

10 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
2 févr. 2005 à 18:28
Je ne sais pas trop ce qu'il en est pour l'interception des evts claviers/souris mais si la raison pour laquelle tu ne veux pas vérifier tous les controles un à un, c'est afin d'éviter d'avoir des
If TextBox1.Text <> "" Then ...
If TextBox2.Text <> "" Then ...
If TextBox3.Text <> "" Then ....

tu peux mettre ça pour vérifier :
Private Function lfct_VerifSaisie as Boolean
Dim l_Ctl as Control
Dim lb_OK as Boolean
lb_OK = False
For Each l_Ctl in Me.Controls
If TypeOf l_Ctl is TextBox Then
If l_Ctl.Text <> "" Then
'If l_Ctl.Text <> l_Ctl.Tag Then
lb_OK = True
Exit For
End If
If TypeOf l_Ctl is CheckBox Then
If l_Ctl.Value <> 0 Then
'If l_Ctl.Value <> l_Ctl.Tag Then
lb_OK = True
Exit For
End if
End if
Next l_Ctl
If not lb_OK Then
MsgBox "Aucune zone n'a été saisie"
End if
lfct_VerifSaisie = lb_OK
End Function

Si tu as des valeurs par défaut, dans tes zones, utilise la propriété Tag des checkbox et textbox pour les stocker
Après avoir rempli les valeurs par défaut tu lances cette procédure
Public Sub lsub_DefValues(a_Form as Form)
Dim l_Ctl as Control
For Each l_Ctl in a_Form.Controls
If TypeOf l_Ctl is TextBox Then
l_Ctl.Tag = l_Ctl.Text
End If
If TypeOf l_Ctl is CheckBox Then
l_Ctl.Tag = l_Ctl.Value
End If
Next l_Ctl
End Sub
3
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
2 févr. 2005 à 17:55
vb6 ou .net?
oui c faisable
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
2 févr. 2005 à 18:19
Trabice, merci de ta participation
Et j'irais même encore plus loin : Il existe peut-être une fonction qui permet de savoir ça
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
2 févr. 2005 à 18:32
mouais...ca gaze???!!!

bon ben je met le .net alors



Dim LesFrames
As OpenNETCF.Windows.Forms.GroupBox



For
Each LesFrames
In
Me.Controls


LesFrames.Top = 0


LesFrames.Left = 0



Next

ici pr positionner toutes les groupbox en haut a gauche.

:-)~~

Fabrice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_pierre63 Messages postés 50 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 9 mars 2009
3 févr. 2005 à 10:19
Salut !

Tout dabord merci !

J'ai un probleme car ce ne marche pas ! J'essaie de preciser de peite
chose ! Je suis en vb6 et en fait dans mes textbox je charge des
données d'une base qui ont été saisie avant ! et je veux faire se
controle pour vérifier que l'utitlisateur est changer un texte pour lui
demander si il veut enregistrer ses changements ! Comme on trouve dans
word qd on modifie son texte !

j'ai l'impression que les tag ne prenne pas les valeur !

Si qq un peut m'aider ! !



Merci


Pierre63
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
3 févr. 2005 à 10:33
Si je comprend bien tu devrai mettre un code ds chaque tetbox dans l evenement lost focus et tu voudrai savoir comment pouvoir créer tous ces codes via 1 seul..
la je sé pas.

bon courage

fabrice
0
cs_pierre63 Messages postés 50 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 9 mars 2009
3 févr. 2005 à 10:37
Je penses que ca serait plutot sur chaque textbox avec l'évenement
change ! SI le contenu du textbox change sa me met une variable a vrai
et dans ce cas la je fais aficher le message de savoir s'ils veulent
imprimer ou pas !

Pierre63
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
3 févr. 2005 à 10:48
ben je sé pa ce kil doivent rentrer dans les textbox mé si c un mot de 20 caractères,
ils vt avoir 20 fois le msg...
0
cs_pierre63 Messages postés 50 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 9 mars 2009
3 févr. 2005 à 11:05
Cette procedure est bonne !
Public Sub lsub_DefValues(a_Form as Form)
Dim l_Ctl as Control
For Each l_Ctl in a_Form.Controls
If TypeOf l_Ctl is TextBox Then
l_Ctl.Tag = l_Ctl.Text
End If
If TypeOf l_Ctl is CheckBox Then
l_Ctl.Tag = l_Ctl.Value
End If
Next l_Ctl
End Sub



Le seule probleme j'ai fait comme il m'a dit ! je l'ai mis apres avoir
rempli mais textbox mais le seul prob c que le l_ctl.tag ne garde
que la derneire valeur et donc je ne peux plus comparer apres !


Pierre63
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
24 juil. 2005 à 12:41
salut tout le monde,



moi, j'ai un champ qui se rempli quand je tape sur des touches, se
champ a donc une variable, et je voudrait que quand j'ai tapé les
bonnes choses (pas forcément exactement, mais au moins que la variable
contient le mot clé, que ca arrete de taper et que ca puisse faire un
autre option.




Pour ceux qui dévellopent en php, cette fonction ressemblerai au eregi(mot-clé($fonction)) mais je ne trouve pas comment faire avec visual basic, cette fonction est inconnue ...





merci de m'apporter vos lumieres



NM
0
Rejoignez-nous