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

    [Resolvido]If com dois critério na mesma linha

    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 18/04/2018

    [Resolvido]If com dois critério na mesma linha Empty [Resolvido]If com dois critério na mesma linha

    Mensagem  fernando rodrigo zanchini 16/10/2019, 20:38

    Boa Tarde
    não sei se e possível tenho dois campos de código     codigo1  e codigo2   e eles não pode se nem nulo e nem 0

    tentei vários código mas nenhum deu certo

    estou usando esse que funciona mas queria tentar mudar

    if isnull(codigo1) then
    call msg
    elseif codigo1=0 then
    call msg
    elseif isnull(codigo2) then
    call msg
    elseif codigo2=0 then
    call msg
    end if

    tentei esse e de varias maneira mas não deu certo

    if isnull([codigo1] and [codigo2] then
    call msg
    elseif ([codigo1] and [codigo2]=0 then
    call msg
    end if
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1172
    Registrado : 13/12/2016

    [Resolvido]If com dois critério na mesma linha Empty Re: [Resolvido]If com dois critério na mesma linha

    Mensagem  Alexandre Fim 16/10/2019, 21:40

    Olá Fernando,

    Fiz um pequeno exemplo.
    Segue código

    Código:


    Public Function Teste()

        Dim Campo1 As Variant
        Dim Campo2 As Variant
       
       
        Campo1 = Null
        Campo2 = 1
       
       
        If (Not IsNull(Campo1) And Trim(Campo1) <> Empty) And (Not IsNull(Campo2) And Trim(Campo2) <> Empty) Then
            MsgBox "Campos corretamente preenchidos.", vbInformation, "Mensagem"
        Else
            MsgBox "Verifique os preenchimento correto dos campos.", vbExclamation, "Aviso"
        End If


    End Function




    Espero ter ajudado.

    Boa sorte


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    caiosouza
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]If com dois critério na mesma linha Empty Re: [Resolvido]If com dois critério na mesma linha

    Mensagem  caiosouza 16/10/2019, 21:45

    Tente assim:

    Código:
        Dim cod1 As Integer, cod2 As Integer
        cod1 = Nz([codigo1], 0)
        cod2 = Nz([codigo2], 0)
        If IsNull([cod1]) Or IsNull([cod2]) Or [cod1] = 0 Or [cod2] = 0 Then Call msg


    .................................................................................
    Caio Souza

    Engenheiro de Software
    Maicon
    Maicon
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 237
    Registrado : 08/09/2012

    [Resolvido]If com dois critério na mesma linha Empty Poderá ser feito de várias formas...

    Mensagem  Maicon 17/10/2019, 03:25

    Mais um modo , gosto muito do select case :
    Código:
    Sua funcao()
    Dim cod1 As Integer, cod2 As Integer
    Select Case cod1
    Case Is = 0
    Call msg
    Case Is = Empty
    Call msg
    End Select

    Select Case cod2
    Case Is = 0
    Call msg
    Case Is = Empty
    Call msg
    End Select
    End Function

    Vendo trecho do teu código
    if isnull([codigo1] and [codigo2] then

    Lembro para ter muito cuidado ao usar And no lugar de Or (And = E  e  Or  =  Ou ).
    Se colocares em um código condição "A And B" = A e B , O evento só irá disparar se ambas se tornarem verdadeiras, já se usar condição  " A Or B "  =  A  ou  B . O evento disparará se uma ou outra condição ocorrer.  

    Por mera curiosidade é possível usar algo tipo ?
    Código:
    select case X=Y or select case X=2y

    Lembrei pode ser feito assim :

    Código:
    Sua Funcao()
    Dim cod1 As Integer, cod2 As Integer
    Select Case cod1 Or cod2

    Case Is = 0
    Call msg
    Case Is = Empty
    Call msg
    End Select

    End Function

    Havia tentado assim só que não havia declarado as variáveis. " Detalhes quebram o código"

    Ainda há a possibilidade de fazer a validação no formulário, pesquise sobre regras de validação.


    Última edição por Maicon em 17/10/2019, 18:40, editado 2 vez(es) (Razão : Corrigido erros de português e melhoria do código para melhorar a visualização. Corrigido falta declaração variáveis)


    .................................................................................
    "O talento vence jogos, mas só o trabalho em equipe ganha campeonatos."
    Michael Jordan

    Bons Estudos.
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 18/04/2018

    [Resolvido]If com dois critério na mesma linha Empty Re: [Resolvido]If com dois critério na mesma linha

    Mensagem  fernando rodrigo zanchini 29/10/2019, 15:18

    Deu certo pessoal muito obrigado
    cheers cheers cheers cheers

      Data/hora atual: 1/3/2021, 19:09