MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Compartilhe

    serbarbosaportugal
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  serbarbosaportugal em Sex 08 Jan 2016, 14:02

    Boa tarde


    Estou a desenvolver um projeto pessoal, e precisava de preencher um campo da tabela, mas só se verificasse na mesma sintase IF com a combinação das clausulas AND e OR.

    Do genero


    IF (Campo1Value= 1 e Campo2Value=2 OR Campo2Value=3 OR CampoValue2= 4 then

    Campo3Value= Concluido

    else

    end if

    Agradecido!!!

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  JPaulo em Sex 08 Jan 2016, 14:56

    Ola;

    Você pode usar o tradicional IF;

    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

    Ou o avançado, mas simples Select Case;

    Código:
    Select Case True
        Case Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) = 2
             Me.Campo3.Value = "Concluído"
        Case Nz(Campo2.Value, 0) = 3 Or Nz(Me.Campo2.Value, 0) = 4
             Me.Campo3.Value = "Concluído"
    End Select

    Usar sempre a função "Nz" para tratamento de Nulos.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  ahteixeira em Sex 08 Jan 2016, 15:03

    Olá a todos,

    JPaulo, com essa do "Avançado" , só posso dizer "Com o MaximoAccess é sempre aprender".

    Abraço

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  JPaulo em Sex 08 Jan 2016, 15:06

    Ola Alvaro;

    Já que gosta de aprender e tenho-o debaixo de olho.... Very Happy

    Veja ainda mais avançado, mas simples;

    Código:
    Select Case True
        Case Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) = 2: Me.Campo3.Value = "Concluído"
        Case Nz(Campo2.Value, 0) = 3 Or Nz(Me.Campo2.Value, 0) = 4: Me.Campo3.Value = "Concluído"
        Case Else: Me.Campo3.Value = "Erro"
    End Select


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  ahteixeira em Sex 08 Jan 2016, 15:23

    Obrigado, ainda mais simples.

    O que me partiu todo foi True Embarassed
    Select Case True

    Vamos aguardar retorno do colega.
    cheers

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  JPaulo em Sex 08 Jan 2016, 15:44

    É muito utilizado em VB.Net

    Outra maneira avançada, mas também simples é o uso da função interna "Switch"

    Código:
    Dim strResultado As Variant
    strResultado = Switch((Nz(Me.Campo1.Value, 0) = 1 And Nz(Me.Campo2.Value, 0) = 2), "Concluído12", _
                          Nz(Campo2.Value, 0) = 3, "Conluído3", Nz(Me.Campo2.Value, 0) = 4, "Concluído4", True, "Nulo")
    Me.Campo3.Value = strResultado


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  ahteixeira em Sex 08 Jan 2016, 16:42

    Esta também vai para o meu Baú de apontamentos.
    Mais uma vez posso dizer "com o MáximoAccess é sempre aprender".

    Sérgio, desculpe lá estas intromissões, aguardamos o seu retorno.
    cheers

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  JPaulo em Sex 08 Jan 2016, 16:44

    É essa a finalidade deste fórum, um aprendizado.

    Tópico de 2010;

    [Você precisa estar registrado e conectado para ver este link.]



    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Nogaro513
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 455
    Registrado : 12/08/2013

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  Nogaro513 em Sex 08 Jan 2016, 20:44

    Parabéns , JPaulo aprendi também muito bom.
    abraço Nogaro !

    serbarbosaportugal
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Utilização de And e OR na mesma sintaze com IF

    Mensagem  serbarbosaportugal em Sab 09 Jan 2016, 17:41

    Boas!!!!

    Agradeço ao JPaulo pela inestimável ajuda!!!


    Com a sugestão
    "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"

    Consegui aquilo que pretendia.
    Mais uma vez, o meu muito obrigado !!!!!!!

      Data/hora atual: Dom 04 Dez 2016, 14:16