![]() |
Visual Basic et annuler une action
|
Thread Tools | Display Modes |
#1
|
||||
|
||||
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 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 ![]() |
#2
|
||||
|
||||
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 |
#3
|
||||
|
||||
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 ![]() |
#4
|
||||
|
||||
Pour que la méthode unload ne s'applique pas il faut mettre le code suivant
Code:
Cancel = 0 ou 1 Mais cela bloquera la méthode. ![]() |
#5
|
||||
|
||||
Quote:
![]() |
#6
|
||||
|
||||
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.
|
#7
|
||||
|
||||
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 ![]() |
#8
|
||||
|
||||
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 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. |
![]() |
Bookmarks |
«
Previous Thread
|
Next Thread
»
Currently Active Users Viewing This Thread: 2 (0 members and 2 guests) | |
|
|
![]() |
||||
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 00:46.
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.