INTERROMPENDO LOOP DO... WHILE
Eu gostaria de saber como faço para interromper um loop do....while, a hora que eu quiser, pressionando um botao.
Tipo assim, se eu carregar um recordset com 10000 registros e começar encher um grid com estes dados e na metade do caminho, eu desejasse interromper a tarefa pressionando um botao.
Com isso o programa sairia do loop, sem ter que percorrer todos os 1000 registros
Obrigado
Marcelo
Tipo assim, se eu carregar um recordset com 10000 registros e começar encher um grid com estes dados e na metade do caminho, eu desejasse interromper a tarefa pressionando um botao.
Com isso o programa sairia do loop, sem ter que percorrer todos os 1000 registros
Obrigado
Marcelo
Para sair do loop :
Ok ?
if(x=1)then
Do
print "Olá!"
exit do ' isto sai do loop
While x=1
end if
Ok ?
uma da possÃveis formas é assim :
Dim Flag as boolean
No evento KeyPress do Form (ou no evento Click de um botão):
If KeyAscii = 13 Then
KeyAscii = 0
Flag = True
End If
Na sua função faça assim:
Do
DoEvents
If Flag then
Flag = False
Exit Do
End if
seus comandos ...
While x=1
ou assim: (So que depois vc deve colocar a variavel Flag como False de novo qdo sair do Loop)
Do
DoEvents
seus comandos ...
While x=1 or Flag = False
Abs.
Dim Flag as boolean
No evento KeyPress do Form (ou no evento Click de um botão):
If KeyAscii = 13 Then
KeyAscii = 0
Flag = True
End If
Na sua função faça assim:
Do
DoEvents
If Flag then
Flag = False
Exit Do
End if
seus comandos ...
While x=1
ou assim: (So que depois vc deve colocar a variavel Flag como False de novo qdo sair do Loop)
Do
DoEvents
seus comandos ...
While x=1 or Flag = False
Abs.
pega ai
Declare uma variavel no general do seu form
Dim IntKey as integer
assim
Do Until IntKey = vbkeyEscape
instruções
Doevents
loop
No evento keyup do form digite:
intkey = vbkeycode
pronto agora teste
Bom aproveito
Espero ter ajudado
Declare uma variavel no general do seu form
Dim IntKey as integer
assim
Do Until IntKey = vbkeyEscape
instruções
Doevents
loop
No evento keyup do form digite:
intkey = vbkeycode
pronto agora teste
Bom aproveito
Espero ter ajudado
Vai ter gente me batendo pelo meu post =PPPPPP
Do
goto qqcoisa
Loop
qqcoisa:
cara usa exit do, dá certinho pro seu problema, falow espero ter ajudado
Eu faço assim
no DECLARATIONS do form eu coloco
No form KEYPRESS
(Não se esqueça de colocar o KEYPREVIEW para true)
No loop eu faço assim
Sacou... quando estiver no loop se a pessoa apertar o ENTER.. ele pergunta se quer sair.. se clicar em sim.. sai.. se clicar em não... continua normalmente..
no DECLARATIONS do form eu coloco
Dim Sair as Integer * 1
No form KEYPRESS
(Não se esqueça de colocar o KEYPREVIEW para true)
If keyascii = 13 then
Sair = 1
End if
No loop eu faço assim
Do while not Tabela.Eof
If Sair = 1 Then
If Msgbox("Deseja realmente sair?", VbyesNo) = VbYes then
Exit Do
Else
Sair = 0
End if
'comandos para adicionar.. e etc
Loop
Sacou... quando estiver no loop se a pessoa apertar o ENTER.. ele pergunta se quer sair.. se clicar em sim.. sai.. se clicar em não... continua normalmente..
Corrigindo um peq lapso:
Do
DoEvents
seus comandos ...
While x=1 And Flag = False
Flag = False
Do
DoEvents
seus comandos ...
While x=1 And Flag = False
Flag = False
cara usa enddo ou doeventes
falow
falow
Qual a necessidade de uma resposta dessas, JEFINHO?
Fazendo uma correção no meu topico acima em vez de
Intkey = vbkeycode mude para intkey = keycode
mais uma, para sair do loop
verifique o fim do banco de dados
assim:
if tabela.eof then
Exit do
end if
Desculpe os erros
Espero ter ajudado
Intkey = vbkeycode mude para intkey = keycode
mais uma, para sair do loop
verifique o fim do banco de dados
assim:
if tabela.eof then
Exit do
end if
Desculpe os erros
Espero ter ajudado
Tópico encerrado , respostas não são mais permitidas