INTERROMPENDO UM LOOP
Como faço para interromper uma operação em um LOOP.
Exemplo: supomos que eu esteja atualizando uma base de dados muito grande, que demore uns 20 minutos e eu precise interromper a operação, por qualquer motivo. SEM usar CRTL + ALT + DEL ou coisa parecida, como posso parar a operação (IF Tecla Pressionada = VbKeyEsc Then........)
Obrigado.
Exemplo: supomos que eu esteja atualizando uma base de dados muito grande, que demore uns 20 minutos e eu precise interromper a operação, por qualquer motivo. SEM usar CRTL + ALT + DEL ou coisa parecida, como posso parar a operação (IF Tecla Pressionada = VbKeyEsc Then........)
Obrigado.
Opa!!!!!!
Bingo!
form --- keypreview = true
Dim Sai As Boolean
Dim i As Byte
Private Sub Command1_Click()
Do Until i = 100
Me.Print i
DoEvents
If Sai = True Then MsgBox "ok" & i: Exit Do
i = i + 1
Loop
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then Sai = True
End Sub
Private Sub Form_Load()
Let Sai = False
End Sub
Cara.... eu adoro esses artifÃcios!!!
boa programação!
flw
Bingo!
form --- keypreview = true
Dim Sai As Boolean
Dim i As Byte
Private Sub Command1_Click()
Do Until i = 100
Me.Print i
DoEvents
If Sai = True Then MsgBox "ok" & i: Exit Do
i = i + 1
Loop
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then Sai = True
End Sub
Private Sub Form_Load()
Let Sai = False
End Sub
Cara.... eu adoro esses artifÃcios!!!
boa programação!
flw
ah.....
vc pode fazer o seguinte pra o doevents.
para vc nao executar o doevents(direto) vc sai o seguinte
If i Mod 29 = False Then doevents ' vc coloca um numero primo..... entao a cada multiplo desse numero ele ira executar o doevents
flw
vc pode fazer o seguinte pra o doevents.
para vc nao executar o doevents(direto) vc sai o seguinte
If i Mod 29 = False Then doevents ' vc coloca um numero primo..... entao a cada multiplo desse numero ele ira executar o doevents
flw
Tópico encerrado , respostas não são mais permitidas