Problème simple

Gildo - 23 nov. 2001 à 16:16
 Gildo - 23 nov. 2001 à 17:16
Voici :

Dans un formulaire principal une boucle permet de lire les records d'un fichier texte. Quand un record invalide est rencontré, un nouveau form est ouvert pour permettre la correction du record.
Malheureusement la boucle ne s'arrête pas et pendant que le nouveau form est ouvert, les autres records sont lus.

Comment faire pour que la boucle attende que le nouveau formulaire soit valider pour continuer ??

Merci d'avance.

5 réponses

Exit for pour qutter la boucle
puis sauvergarde le rang auquel la boucle c arrété , et recomence a ce rang apres.

test, ++

SkX
0
T'es sous excel ?
au boulot j'ai excel 2000 et je viens de lancer ça :

Sub test()
For i = 1 To 50000
If i = 15000 Then
UserForm1.TextBox1.Text = i
UserForm1.Show
End If
If i = 20000 Then MsgBox "20000ème rec !"
Next
End Sub

le msgbox "20000ème rec !" ne s'affiche pas tant que mon userform1 n'est pas fermé.

C'est koi ton code ?
0
T'es sous excel ?
au boulot j'ai excel 2000 et je viens de lancer ça :

Sub test()
For i = 1 To 50000
If i = 15000 Then
UserForm1.TextBox1.Text = i
UserForm1.Show
End If
If i = 20000 Then MsgBox "20000ème rec !"
Next
End Sub

le msgbox "20000ème rec !" ne s'affiche pas tant que mon userform1 n'est pas fermé.

C'est koi ton code ?
sionon tu ajoute un "EXIT FOR" en gardant une varialbe "COMPTEUR" pour reprendre où tu t'étais stoppé.
0
Bonjour,

ouvre ton formulaire de correction en mode modal. Sinon le code continue en effet sans attendre la fermeture de la form. Il y a une propriete modal pour le formulaire si tu est sur access ou utilises
DoCmd.OpenForm "form1", , , , , acDialog

Si c'est sur VB utilise form.show vbmodal.

A+
0

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

Posez votre question
Merci pour ta réponse.
Je suis sous access2000, j'ai le même code que toi mais la boucle ne stoppe pas après l'ouverture du form.

Line Input #F, TxtRecord
code = IsValidRecord(TxtRecord)

While Not EOF(F)
If code <> 1 Then
DoCmd.OpenForm "frmCorrectTXTRecord"
End If
TxtSaveRecordInHistory
MsgBox "record : " & TxtRecord, vbOKOnly
Line Input #F, TxtRecord
code = IsValidRecord(TxtRecord)
Wend
0
Rejoignez-nous