MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    Condição para a condição. Interferência de End If

    biligo
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 226
    Registrado : 10/04/2014

    Condição para a condição. Interferência de End If  Empty Condição para a condição. Interferência de End If

    Mensagem  biligo 14/4/2017, 05:57

    Boas galera,

    Esbarrei em uma questão e gostaria do auxilio dos mestres presentes para minha aprimoração.
    Segue a seguinte sequencia:

    Private Sub Comando0_Click()

    If IsNull(Me.Texto1) Then
       If Me.Texto3 < Me.Texto1 Then
           DSum (Me.Texto3 * Me.Texto5)
           
    Else
       If Me.Texto5 < Me.Texto3 Then
           DSum (Me.Texto1 * Me.Texto5)
           
    End If
       MsgBox "Alguma condição deve ter sido ativada e o codigo seguira daqui", vbInformation
       End If


    End Sub

    A questão é que o 3 IF esbarra no 1° End If mas ele deveria ser do 1 if.
    Existe alguma solução para resolver esta questão deste modo? Ou não é possivel adicionar Uma condição para criar condições para que caso essa segunda condição seja cumprida fechar a primeira e dar
    continuidade a segunda condição.

    Pss.: Não gostaria de utilizar GoTo Line se houver outra alternativa agradeço.
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4718
    Registrado : 20/04/2011

    Condição para a condição. Interferência de End If  Empty Re: Condição para a condição. Interferência de End If

    Mensagem  Silvio 14/4/2017, 12:00

    Bom dia...

    Utilize  o Select Case para isso.

    Veja o link:
    https://www.maximoaccess.com/t14914-funcao-interna-select-case?highlight=select+case


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    biligo
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 226
    Registrado : 10/04/2014

    Condição para a condição. Interferência de End If  Empty Re: Condição para a condição. Interferência de End If

    Mensagem  biligo 14/4/2017, 18:34

    Silvio Grato pela resposta.
    Mas houve um erro. Case sem Select Case
    Talvez eu não esteja fazendo corretamente mas acho que existe uma interferência devido abrir uma condição.


    Select Case IsNull(Me.Texto1) Then
    Case 1

      If Me.Texto3 < Me.Texto1 Then
          DSum (Me.Texto3 * Me.Texto5)
         
    Case 2

      If Me.Texto5 < Me.Texto3 Then
          DSum (Me.Texto1 * Me.Texto5)
         
    End Select
      MsgBox "Alguma condição deve ter sido ativada e o codigo seguira daqui", vbInformation
    Else
    MsgBox "Nenhuma condição foi ativada e o codigo não seguira",vbInformation
      End If
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7871
    Registrado : 05/11/2009

    Condição para a condição. Interferência de End If  Empty Re: Condição para a condição. Interferência de End If

    Mensagem  Alexandre Neves 21/4/2017, 20:15

    Boa tarde,
    Nomeie de forma normalizada. O código como está não é inteligível
    Descreva o que pretende


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 4/3/2021, 18:16