Boa noite, no evento click de um botão utilizo 3 laços de repetição while. Inclusive,no inicio desabilito os botões. O terceiro laço não executa, e no final tenho que habilitar os botões que no inicio foi desabilitado mas nem isso faz. É como só fizesse os dois primeiros laço e parasse de percorrer as linhas. Não existe erro no código. Existe um limite de repetição? alguem poderia ajudar?
2 participantes
[Resolvido]Laço de repetição
vomorais- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 42
Registrado : 11/03/2016
- Mensagem nº1
[Resolvido]Laço de repetição
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 22/11/2016
- Mensagem nº2
Re: [Resolvido]Laço de repetição
Marque um ponto de interrupção e acompanhe a execução do código linha a linha usando a tecla F8 e veja o que pode está dando errado ou o que você pode estar deixando passar.
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
vomorais- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 42
Registrado : 11/03/2016
- Mensagem nº3
Re: [Resolvido]Laço de repetição
Obrigado mas não mostra nada errado... um laço que é executado é semelhante ao outro que não executa so muda nome da variável
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 22/11/2016
- Mensagem nº4
Re: [Resolvido]Laço de repetição
Sem o banco de dados para análise a dica que poderia dar era essa.
Anexe aqui o banco e diga como devemos proceder e o que deveria acontecer que já apontaremos o erro escondido.
Anexe aqui o banco e diga como devemos proceder e o que deveria acontecer que já apontaremos o erro escondido.
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
vomorais- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 42
Registrado : 11/03/2016
- Mensagem nº5
Re: [Resolvido]Laço de repetição
Ivan consegui achar o erro...kkk
''inicia pré escolar 2
''========================
Dim contareg2 As Integer
Dim contar2 As Integer
Dim contapre2 As Integer
Dim contapre3 As Integer
Dim dt1 As Date
Dim rst2 As Recordset
Set rst2 = CurrentDb.OpenRecordset("tab_dadosmil")
contar2 = 0
contapre2 = 0
contapre3 = 0
contareg2 = rst2.RecordCount
DoCmd.RunCommand acCmdRecordsGoToFirst
Me.Rótulo10.Visible = True
Do While contar2 <> contareg2
CONTADOR QUE COMPARA COM TOTAL REGISTRO
contar2 = contar2 + 1
If IsNull(Me.valor2preescolar = True) Then
FAZ NEXT SE TIVER VAZIO
DoCmd.RunCommand acCmdRecordsGoToNext
Else
dt1 = (Me.validade2preescolar.Value - 90)
''aqui verefica que a data de vencimento esta compreendida entre a quantidade de dia escolhido
If ((Date >= dt1) And (Me.validade2preescolar.Value >= Date)) Then
contapre2 = contapre2 + 1
''Me.Rótulo6.Caption = "O prazo do pré-escolar do " & Me.postgrad & " " & Me.nomeguerra & " vence dia " & Me.validadepreescolar & ". Referente ao 1º dependente."
Me.Rótulo10.Caption = "Existe " & contapre2 & " pré-escolar à vencer(2º dependente)."
End If
Me.Rótulo11.Visible = True
If (Me.validade2preescolar.Value < Date) Then
contapre3 = contapre3 + 1
''Me.Rótulo6.Caption = "Existe pré-escolar do " & Me.postgrad & " " & Me.nomeguerra & " venceu dia " & Me.validadepreescolar & ""
Me.Rótulo11.Caption = "Existe " & contapre3 & " pré-escolar já vencido(2º dependente) - Exclua."
End If
FAZ NEXT ENQUANTO FOR DIFERENTE CONTAR (INCREMENTAR) COM TOTAL DE REGISTRO
If contar2 <> contareg2 Then
CRIEI ISTO E DESCOBRI QUE NÃO ESTAVA INDO EM TODO REGISTRO. AQUI ESTAVA O ERRO!
''MsgBox "O teste " & contar1 & "/" & contareg1 & "", vbInformation + vbOKOnly, "NAPION informa!"
DoCmd.RunCommand acCmdRecordsGoToNext
End If
O ERRO ERA PQ AQUI ESTAVA IF...END DO DoCmd.RunCommand acCmdRecordsGoToNext ACIMA
End If
Loop
''inicia pré escolar 2
''========================
Dim contareg2 As Integer
Dim contar2 As Integer
Dim contapre2 As Integer
Dim contapre3 As Integer
Dim dt1 As Date
Dim rst2 As Recordset
Set rst2 = CurrentDb.OpenRecordset("tab_dadosmil")
contar2 = 0
contapre2 = 0
contapre3 = 0
contareg2 = rst2.RecordCount
DoCmd.RunCommand acCmdRecordsGoToFirst
Me.Rótulo10.Visible = True
Do While contar2 <> contareg2
CONTADOR QUE COMPARA COM TOTAL REGISTRO
contar2 = contar2 + 1
If IsNull(Me.valor2preescolar = True) Then
FAZ NEXT SE TIVER VAZIO
DoCmd.RunCommand acCmdRecordsGoToNext
Else
dt1 = (Me.validade2preescolar.Value - 90)
''aqui verefica que a data de vencimento esta compreendida entre a quantidade de dia escolhido
If ((Date >= dt1) And (Me.validade2preescolar.Value >= Date)) Then
contapre2 = contapre2 + 1
''Me.Rótulo6.Caption = "O prazo do pré-escolar do " & Me.postgrad & " " & Me.nomeguerra & " vence dia " & Me.validadepreescolar & ". Referente ao 1º dependente."
Me.Rótulo10.Caption = "Existe " & contapre2 & " pré-escolar à vencer(2º dependente)."
End If
Me.Rótulo11.Visible = True
If (Me.validade2preescolar.Value < Date) Then
contapre3 = contapre3 + 1
''Me.Rótulo6.Caption = "Existe pré-escolar do " & Me.postgrad & " " & Me.nomeguerra & " venceu dia " & Me.validadepreescolar & ""
Me.Rótulo11.Caption = "Existe " & contapre3 & " pré-escolar já vencido(2º dependente) - Exclua."
End If
FAZ NEXT ENQUANTO FOR DIFERENTE CONTAR (INCREMENTAR) COM TOTAL DE REGISTRO
If contar2 <> contareg2 Then
CRIEI ISTO E DESCOBRI QUE NÃO ESTAVA INDO EM TODO REGISTRO. AQUI ESTAVA O ERRO!
''MsgBox "O teste " & contar1 & "/" & contareg1 & "", vbInformation + vbOKOnly, "NAPION informa!"
DoCmd.RunCommand acCmdRecordsGoToNext
End If
O ERRO ERA PQ AQUI ESTAVA IF...END DO DoCmd.RunCommand acCmdRecordsGoToNext ACIMA
End If
Loop
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 22/11/2016
- Mensagem nº6
Re: [Resolvido]Laço de repetição
O fórum agradece o retorno. Sucesso.
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.