Communauté Informatique NDFR.net : Visual Basic et annuler une action - Programmation (C/C++, Delphi, VB, etc.)
Reply
Visual Basic et annuler une action
Thread Tools Display Modes
  #1  
Old 18-08-2004, 13:57
ThOMaZ2118's Avatar
ThOMaZ2118 ThOMaZ2118 is offline
Assassination Enthousiast
 
Join Date: 27-05-2003
Location: HQ CIA, Langley, Viginia, United States
Age: 40
Posts: 299
Send a message via MSN to ThOMaZ2118
Visual Basic et annuler une action

Salut,

Je suis en train de faire un form oui il y a des textboxes a remplir mais qui ne sont pas facultatifs.
Je voudrais quand j'essaye de fermer la fenetre qu'il me dise que je dois remplis les cases.
Voici le code:
Code:
Private Sub Form_Unload(Cancel As Integer)
If a = 1 Then
    If txtName.Text = "" Then
        MsgBox ("All boxes have to be filled before you exit so the person is added")
    End If
End If
End Sub
Quand je ferme la fenetre il me donne bien le message box mais quand je fait OK il la ferme quand meme.
J'essaye de trouver un moyen pour qu'il ne la ferme pas quand je clic sur la croix et que la valeur de a est sur 1.

J'éspère que c'est clair :confused:

merci
Reply With Quote
  #2  
Old 18-08-2004, 14:08
Cougar's Avatar
Cougar Cougar is offline
Membre senior
 
Join Date: 16-09-2001
Location: Orléans
Age: 39
Posts: 3,850
Send a message via MSN to Cougar
Jme souviens plus très bien de la syntaxe en VB, mais faudrait (c'est une des possibilités en tout cas) recharger le Form pour revenir à la "saisie du texte".
Un truc du genre form1.load ou quoi (mais doit y avoir des subtilités si y a plusieurs zone de saisies et qu'on ne veut pas tout effacer).

sinon jviens d'y penser là

Code:
Private Sub Form_Unload(Cancel As Integer)
Loop
If a = 1 Then
	If txtName.Text = "" Then
		MsgBox ("All boxes have to be filled before you exit so the person is added")
	End If
while txtname.text <> ""
 
End If
End Sub
enfin la syntaxe est ptet pas bonne, tu peux faire ça avec un return, ou un autre if imbriqué, etc etc
__________________
Reply With Quote
  #3  
Old 18-08-2004, 14:49
ThOMaZ2118's Avatar
ThOMaZ2118 ThOMaZ2118 is offline
Assassination Enthousiast
 
Join Date: 27-05-2003
Location: HQ CIA, Langley, Viginia, United States
Age: 40
Posts: 299
Send a message via MSN to ThOMaZ2118
Si je me rapelle bine il s'agit de form.show mais quand on lui dit sur le exit qu'il doit ouvrir le form que l'ont viens de fermer, il ne le rouvre pas.

T'a solution ne m'a pas l'air mauvaise mais ca ne le fera que pour le premier textbox, si la personne commence par remplir la derniere case il ne pouras pas car il demanderas toujours de remplir la premiere.

Mais j'ai trouver une autre solution qui a a voir avec la base de donnees et je ne vais pas commencé a expliquer en detail mon devoir.

Merci pour l'aide, ca me sera utile
Reply With Quote
  #4  
Old 18-08-2004, 15:47
cameleon69's Avatar
cameleon69 cameleon69 is offline
Membre occasionnel
 
Join Date: 02-01-2004
Location: Rhône-Alpes
Posts: 51
Pour que la méthode unload ne s'applique pas il faut mettre le code suivant

Code:
Cancel = 0 ou 1
Je ne sais plus si c'est 1 ou 0
Mais cela bloquera la méthode.
__________________
Reply With Quote
  #5  
Old 18-08-2004, 18:37
Cougar's Avatar
Cougar Cougar is offline
Membre senior
 
Join Date: 16-09-2001
Location: Orléans
Age: 39
Posts: 3,850
Send a message via MSN to Cougar
Quote:
Originally Posted by ThOMaZ2118
T'a solution ne m'a pas l'air mauvaise mais ca ne le fera que pour le premier textbox, si la personne commence par remplir la derniere case il ne pouras pas car il demanderas toujours de remplir la premiere.
bah tu rajoutes d'autres conditions textbox <> "" and blablabla, comme c'est une petite app y a pas besoin d'écrire 2000 lignes de codes
__________________
Reply With Quote
  #6  
Old 18-08-2004, 19:01
cameleon69's Avatar
cameleon69 cameleon69 is offline
Membre occasionnel
 
Join Date: 02-01-2004
Location: Rhône-Alpes
Posts: 51
Je pense que tu dois pouvoir faire une boucle while en testant si le control est un textbox et à ce moment la tester s'il est vide ou pas.
__________________
Reply With Quote
  #7  
Old 18-08-2004, 19:17
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
ben normalement il suffit de faire un "exit sub" ou quelque chose du genre, question qu'il ne termine pas le sub et il ne le fermera pas alors ... me souvien avoir utiliser ca dans un de mes script

pour plus d'info thomas tu sais comment me joindre
Reply With Quote
  #8  
Old 19-08-2004, 11:20
cameleon69's Avatar
cameleon69 cameleon69 is offline
Membre occasionnel
 
Join Date: 02-01-2004
Location: Rhône-Alpes
Posts: 51
Bon je viens vite fait de faire un test chez moi.

Voici le genre de code que tu dois mettre pour tester si tous les controles TEXTBOX sont bien différents de vide.
Code:
 
Private Sub Form_Unload(Cancel As Integer)
Dim ctrl As Control
For Each ctrl In Me.Controls
	'je recherche que les controles de type Textbox
	If TypeOf ctrl Is TextBox Then
		'si le controle est vide alors je sors de la boucle 
		'et j'empeche la fermeture de la form
		If ctrl.Text = "" Then
			 Cancel = 1
			 'message informant d'une erreur
			 MsgBox "Vous devez remplir tous les champs obligatoires.",,"Erreur de saisie"
			 Exit For		
		End if
	End If
Next ctrl
End Sub
Voila qui devrait répondre à ta demande.
Cette méthode teste tous les controles de la form et si c'est une textbox elle vérifie que la textbox n'est pas vide, si tel est le cas à la première rencontrée elle sort de la boucle et ne ferme pas la fenêtre.
Bien entendu tu peux mettre un message à l'aide d'une msgbox avant le Exit For.
__________________

Last edited by cameleon69; 19-08-2004 at 11:25.
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Trillian 3 Basic Spycam Tests utilisateurs 2 20-12-2004 14:02
RealProducer v10 Basic & Plus LeMoi Actualité 6 30-09-2004 18:52
Patchs pour Trillian Basic et Pro LeMoi Actualité 2 25-06-2004 00:10
Microsoft Visual Studio 6.0 Service Pack 6 Benjy Actualité 2 04-04-2004 07:00
Hercules DV Action ! Pro Werner Actualité 0 04-11-2002 10:49

All times are GMT +2. The time now is 16:23.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.