MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    VBA executa um Procedimento mas não executa outro...

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 23/4/2012, 18:07

    Olá!
    Este evento está acionando somente o VerificaSaida2 e ignorando a função IF:

    Private Sub Form_AfterInsert()
    VerificaSaida2
    If Valor_entrada.Value > 0 Then
    If Valor_entrada.Value <> [Saldo Rifa Volta].Value * -3 Then
    MsgBox "Valor em reais não confere com o que foi devolvido de rifas. Corrija, por favor!", vbInformation, "Atenção"
    Valor_entrada.Value = 0
    Valor_entrada.SetFocus
    End If
    End If
    End Sub

    Por que isto está ocorrendo?
    Agradeço desde já!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 23/4/2012, 19:18

    Que outro procedimento espera executar? Eu só vejo um no bloco.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 23/4/2012, 19:47

    Criquio, desculpe-me!
    A rotina VerificaSaida2 ele executa,
    mas o código abaixo ele não execua:
    If Valor_entrada.Value > 0 Then
    If Valor_entrada.Value <> [Saldo Rifa Volta].Value * -3 Then
    MsgBox "Valor em reais não confere com o que foi devolvido de rifas. Corrija, por favor!", vbInformation, "Atenção"
    Valor_entrada.Value = 0
    Valor_entrada.SetFocus
    End If
    End If
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 23/4/2012, 20:11

    Você tem duas condições na qual o retorno será ou uma ou outra, é isso? Se for, utilize um ElseIf:

    Código:
    If Condição = 1 Then
        Executa uma ação
    ElseIf Condição = 2 Then
        Executa outra ação
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 24/4/2012, 00:27

    Criquio, não tô conseguindo explicar!
    Vou refazer o problema!
    Vamos supor que eu queira que um procedimento execute duas rotinas, a VerificaSaida2 e a VerificaVolta.
    Eu escreveria assim:

    Private Sub Form_AfterInsert()
    VerificaSaida2
    VerificaVolta
    End Sub

    Mas só executa a primeira rotina: VerificaSaida2

    Por quê?



    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 24/4/2012, 01:25

    Não está dando para entender. Primeiro, você falou em dois procedimentos mas no código só tem um. Agora colocou duas chamadas à funções mas sem nenhuma condição. Explique melhor isso por gentileza. Talvez se juntar as duas partes consiga explicar melhor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 24/4/2012, 02:26

    Criquio, estou confuso porque eu não sei se um evento "Form_AfterInsert()" pode chamar duas rotinas: VerificaSaida2 e VerificaVolta. Pode? Como?

    Antes eu queria chamar neste evento a rotina VerificaSaida2 e executar o código abaixo:
    If Valor_entrada.Value > 0 Then
    If Valor_entrada.Value <> [Saldo Rifa Volta].Value * -3 Then
    MsgBox "Valor em reais não confere com o que foi devolvido de rifas. Corrija, por favor!", vbInformation, "Atenção"
    Valor_entrada.Value = 0
    Valor_entrada.SetFocus
    End If
    End If


    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 24/4/2012, 03:21

    O que é o VerificaSaida2? Poste a função para ver se dá para entender melhor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 24/4/2012, 04:12

    Private Sub VerificaSaida2()
    If N_Saida2.Value < N_Saida1.Value Then
    MsgBox "Numero de Saida2 da Série não pode ser menor que o numero de Saida1. Relance, por favor", vbInformation, "Atenção"
    N_Saida2.Value = 0
    Me.N_Saida1.SetFocus
    Me.N_Saida2.SetFocus
    End If
    End Sub

    Private Sub VerificaVolta()
    If N_Volta2.Value <> "" Then
    If N_Volta2.Value < N_Volta1.Value Then
    MsgBox "Numero de Volta2 da Série não pode ser menor que o numero de Volta1. Relance, por favor", vbInformation, "Atenção"
    N_Volta2.Value = 0
    Me.N_Volta1.SetFocus
    Me.N_Volta2.SetFocus
    Else
    MsgBox "Informe o total em Reais que você recebeu por estas Rifas, por favor!", vbInformation, "Atenção"
    Valor_entrada.SetFocus
    End If
    End If
    End Sub
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 24/4/2012, 04:30

    Ao que parece, ao ocorrer o evento que a função processa, caso um campo seja menor que o outro, o foco vai para determinado campo. Se correr a outra função, uma anula a outra, pois ambas estão em blocos diferentes. Explica como deve ser o funcionamento do sistema para vermos como adaptar.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 24/4/2012, 04:38

    Uma dica: para facilitar o entendimento do código, procure utilizar recuos, como no exemplo abaixo:

    Código:
    Private Sub VerificaSaida2()
       If N_Saida2.Value < N_Saida1.Value Then
          MsgBox "Numero de Saida2 da Série não pode ser menor que o numero de Saida1. Relance, por favor", vbInformation, "Atenção"
          N_Saida2.Value = 0
          Me.N_Saida1.SetFocus
          Me.N_Saida2.SetFocus
       End If
    End Sub

    Código:
    Private Sub VerificaVolta()
       If N_Volta2.Value <> "" Then
          If N_Volta2.Value < N_Volta1.Value Then
             MsgBox "Numero de Volta2 da Série não pode ser menor que o numero de Volta1. Relance, por favor", vbInformation, "Atenção"
             N_Volta2.Value = 0
             Me.N_Volta1.SetFocus
             Me.N_Volta2.SetFocus
          Else
             MsgBox "Informe o total em Reais que você recebeu por estas Rifas, por favor!", vbInformation, "Atenção"
             Valor_entrada.SetFocus
          End If
       End If
    End Sub
    Para conseguir esse efeito aqui no fórum, basta selecionar o bloco e clicar em Code, ali em cima, no ícone de uma folha com os sinais de maior e menor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  MPS 24/4/2012, 04:55

    Criquio, o regsitro tem estes 4 campos: N_Saida1, N_Saida2, N_Volta1 e N_Volta2.
    No registro o N_Saida2 não pode ser menor que o N_Saida1, assim como o N_Volta2 não pode ser menor que o N_Volta1.
    Estas duas rotinas (VerificaSaida2 e VerificaVolta) estão no evento _afterupdate do N_Saida2 e N_Volta2 respectivamente. E funcionam bem com a tecla TAB. Mas elas não impedem que o usuário prossiga no aplicativo sem corrigir, caso queira, utilizando o mouse.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  criquio 24/4/2012, 11:37

    Tente utilizar o evento "Ao sair" dos campos.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    VBA executa um Procedimento mas não executa outro... Empty Re: VBA executa um Procedimento mas não executa outro...

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:14