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

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 10/1/2016, 22:00

    Boas


    Mais uma vez tenho necessidade de recorrer à vossa ajuda.

    Ainda na sequencia do meu pedido no post:

    https://www.maximoaccess.com/t25172-resolvidoutilizacao-de-and-e-or-na-mesma-sintaze-com-if

    cuja ajuda inestimável foi dada pelo JPaulo, através da resposta:

    Código:

    If (Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) = 2) Or Nz(Me.Campo2.Value, 0) = 3 Or Nz(Me.Campo2.Value, 0) = 4 Then
           Me.Campo3.Value = "Concluído"
       End If

    com a mesma estrutura, como determinar o valor no campo value 3 como "Pendente" com todos os valores diferentes dos mencionados no código para além dos já mencionados no primeiro campo (Campo.value1), "If (Nz(Me.Campo1.Value, 0) = 1" e sim com as demais condições ? "Or Nz(Me.Campo2.Value, 0) = 3 Or Nz(Me.Campo2.Value, 0) = 4 Then"

    Isto porque tenho vários valores nesse primeiro campo, e ao executar o access ter dado aviso de código demasiado longo.....


    Agradeço a ajuda!!! Continuação de bom fim de semana!!!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 10/1/2016, 23:28

    Olá, tente com elseif, exemplo:

    If ... Como tem
    Else If ... Para pendente
    End If

    Desculpa, mas no tablet, não dá para explicar melhor.
    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 11/1/2016, 01:50

    Ola, obrigado pela tentativa ahteixeira, mas não funcionou.....
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 11/1/2016, 08:22

    Olá, não sei se compreendi bem a questão, mas tente assim:

    Código:
    If (Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) > 1) And Nz(Me.Campo2.Value, 0) < 5 Then
        Me.Campo3.Value = "Concluído"
    Else
        Me.Campo3.Value = "Pendente"
    End If

    Nota: Simplifiquei a fórmula inicial, pois o campo2, estava a verificar se era 2,3 ou 4, para isso podemos dizer , maior que 1 e menor que 5.

    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 11/1/2016, 14:11

    Ola!!!


    ahteixeira, obrigado pelo tempo! Acho que fui eu que não me expliquei o suficiente.


    If (Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) > 1) And Nz(Me.Campo2.Value, 0) < 5 Then
    Me.Campo3.Value = "Concluído"
    Else
    Me.Campo3.Value = "Pendente"
    End If

    Para esta primeira instrução, funciona. O que eu pretendo é , para todas as outras, e esquecendo o valor que estiver no campo 1 (If (Nz(Me.Campo1.Value, 0) = 1), mas respeitando o restante da formula (Nz(Me.Campo2.Value, 0) > 1) And Nz(Me.Campo2.Value, 0) < 5 Then) assuma por defeito o valor do campo 3 como "pendente"

    Ao valoes á frente de = são strings de texto, inseri como números para não complicar,...


    Alguma ideia???

    Agradecido!!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 11/1/2016, 14:39

    Olá, Tente assim (elseif)

    Código:
    If (Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) > 1) And Nz(Me.Campo2.Value, 0) < 5 Then
        Me.Campo3.Value = "Concluído"
    ElseIf (Nz(Me.Campo1.Value, 0) <> 1 And Nz(Me.Campo2.Value, 0) > 1) And Nz(Me.Campo2.Value, 0) < 5 Then
        Me.Campo3.Value = "Pendente"
    End If

    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 11/1/2016, 21:12

    Boas AhTeixeira!!!


    Funcionaria, se o valor fosse numérico. Mas os de comparação são texto!!! Desta forma, o <> no else if não funciona.....

    De qualquer forma, obrigada pela tentativa de ajuda!!!!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 11/1/2016, 21:49

    Olá, use o VAL(seuCampoString)

    Abraço
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 11/1/2016, 22:07

    Olá de novo

    exemplo usando Val
    Código:

    ElseIf Val((Nz(Me.Campo1.Value, 0)) <> 1 And Val(Nz(Me.Campo2.Value, 0)) > 1) And Val(Nz(Me.Campo2.Value, 0)) < 5 Then

    exemplo colocando os identificadores como texto
    Código:

     ElseIf (Nz(Me.Campo1.Value, "0") <> "1" And Nz(Me.Campo2.Value, 0) > "1") And Nz(Me.Campo2.Value, 0) < "5" Then

    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 11/1/2016, 22:34

    Olá!!


    Vou experimentar e depois digo!!
    Obrigado
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 12/1/2016, 11:04

    Boas


    Não funcionou, até porque a obtenção das condições inerentes ao IF Else, não são valores numéricos, mas sim de texto....
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 12/1/2016, 11:09

    Olá, seguindo o que diz, no segundo exemplo está a comparar com texto.
    Será melhor postaf base de dados com pequeno exemplo para se testar.
    Ou aguardamos alguma opinião de outro colega.
    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 13/1/2016, 17:21

    Boas!!!


    Obrigado AhTeixeira, estava a avaliar mal a função!! Como indicaste "ElseIf Val((Nz(Me.Campo1.Value, 0)) <> 1 And Val(Nz(Me.Campo2.Value, 0)) > 1) And Val(Nz(Me.Campo2.Value, 0)) < 5 Then"

    Funcionou!!
    O meu muito obrigado!!!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Alvaro Teixeira 13/1/2016, 17:51

    Olá Sergio, que bom que resolveu! Smile
    Obrigado pelo retorno, o fórum agradece.
    Abraço
    avatar
    serbarbosaportugal
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 25/06/2014

    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  serbarbosaportugal 13/1/2016, 22:20

    Eu é que agradeço!!!!!


    Abraço

    Conteúdo patrocinado


    [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda) Empty Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF (Novo pedido de ajuda)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 12:09