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


3 participantes

    [Resolvido]Preenchimento de campo através da função If Then com várias condições

    avatar
    phflogic
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 42
    Registrado : 11/10/2012

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  phflogic 12/11/2015, 09:32

    Bom dia.

    Num determinado formulário tenho um campo [alerta] que deverá ser preenchido consoante algumas condições, dependendo de outros campos numéricos pré-preenchidos e a serem constantemente atualizados, nomeadamente [ano] e [mês].
    Quando o campo [ano] é atualizado, o campo [alerta] vai devolver a seguinte mensagem "PAGAMENTO EM ATRASO". Para isso estou a utilizar um código VBA no evento "After Update".

    No inicio do código estou a determinar várias strings.

    Dim A as String
    Dim B As String
    Dim Y as String
    Dim M as String

    A = [ano]
    B = [mês]
    Y = Year(Now())
    M = Month(Now())

    Até aqui tudo bem!

    1ª Condição:
    O campo [ano] é menor que o ano atual.
    Utilizo:

    If A < Y Then
    [atraso] = "PAGAMENTO EM ATRASO"
    End If

    Tudo certinho até aqui. Mas agora vem o busílis da questão

    2ª Condição
    O campo [ano] é igual ao ano atual mas o campo [mês] é menor que o mês atual
    Estou a usar:

    If A = Y Then
    If B < M Then
    [atraso] = "PAGAMENTO EM ATRASO"
    End If
    End If

    Não está a resultar! O campo [atraso] fica em branco!
    Alguém tem alguma dica?
    Obrigado.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  Silvio 12/11/2015, 10:15

    Boas...

    Sei lá, pode ser algo parecido com isso..

    If A = Y  and  B < M Then
    [atraso] = "PAGAMENTO EM ATRASO"
    End If
    avatar
    phflogic
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 42
    Registrado : 11/10/2012

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  phflogic 12/11/2015, 10:20

    Boas.

    Já testei. O resultado é o mesmo.
    O campo [alerta] fica em branco.

    Por lapso, no post inicial chamei [atraso] ao campo [alerta], mas trata-se da mesma coisa.
    Obrigado
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  Silvio 12/11/2015, 10:43

    use a depuração de código e veja se ele está passando pelo segunda condição.
    RMARCO
    RMARCO
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 10/02/2012

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  RMARCO 12/11/2015, 11:06

    As variáveis estão definidas como texto,
    Dim A as String
    Dim B As String
    Dim Y as String
    Dim M as String

    nessa situação Nove (9) e maior do que Dez (10), talvez ai esteja o problema.
    Experimente utilizar como numero (integer ou long).
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  Silvio 12/11/2015, 11:44

    Pois é.......ou pois sim !!

    Sem ter o projeto em mãos fica complicado ajudar, então especulamos ou achamos !

    Penso...

    O mês está como String....mas no projeto ( tabela de origem ) ele deve estar como número então de String passamos a integer ! Mesma coisa para o Ano.

    A e B como eles estão definidos na tabela...número ou texto ?

    Boa Rmarco, atento aos detalhes...valeu !
    avatar
    phflogic
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 42
    Registrado : 11/10/2012

    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  phflogic 12/11/2015, 12:18

    O erro estava na definição das variáveis. Quando as defini como Integer, ficou tudo resolvido.
    Está resolvida a questão.
    Muito obrigado a todos pela ajuda.

    Peço desculpa por não colocar o projeto, neste e noutros posts que aqui tenho, mas os projetos em que trabalho estão protegidos em Portugal, pela Comissão Nacional de Proteção de Dados, dado que trabalho num organismo público e as Bases de Dados contêm dados pessoais de inúmeras pessoas.

    De qualquer modo, uma vez mais, muito obrigado pela ajuda
    Bem hajam.

    Conteúdo patrocinado


    [Resolvido]Preenchimento de campo através da função If Then com várias condições Empty Re: [Resolvido]Preenchimento de campo através da função If Then com várias condições

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 17:16