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]DLookup em campo Nulo

    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]DLookup em campo Nulo Empty [Resolvido]DLookup em campo Nulo

    Mensagem  pengo 20/5/2014, 14:00

    Bom dia Pessoal,

    Estou com um problema com a função DLookup, já fiz diversas buscas e não encontrei nada satisfatório que resolva.

    Estou tentando retornar valores coma função Dlookup, porém como alguns campos dos registros estão Nulos, ele ocorre erro, tentei utilizando o Nz() porém também não obtive retorno, agora estou tentando com o IsNull, mas também não estou conseguindo, meu código é:

    Código:
    Private Sub Avaliação_LostFocus()
         Data_Cad = IIf(IsNull([CodigoRef_Cad]), "", DLookup("[Data_Prevista]", "Cadastro", "[Registro] = " & Forms!Avaliações!CodigoRef_Cad))
     End Sub

    Vou tentar explicar meu código, eu quero preencher o campo Data_Cad em um formulário continuo que possui vários registros, porém, quando o campo CodigoRef_Cad estiver nulo quero que não preencha nada no campo Data_Cad, mas caso o campo CodigoRef_Cad tenha algum valor, quero que ele faça uma pesquisa na tabela Cadastro e quando o valor do Registro for igual ao meu campo CodigoRef_Cad ele me retorna no campo Data_Cad o valor encontrado em Data_Prevista.

    Meio confuso, mas somente com o código DLookup("[Data_Prevista]", "Cadastro", "[Registro] = " & Forms!Avaliações!CodigoRef_Cad) eu consigo retornar os valores que eu desejo, o problema que estou enfrentando é quando o campo CodigoRef_Cad é Nulo.

    O Erro que está ocorrendo é o seguinte: "Erro em tempo de execução '3075': Erro de sintaxe (operador faltando) na expressão de consulta '[Registro] ='."

    Esse erro só ocorre nos campos nulos, nos campos que estão preenchidos ele calcula corretamente.

    Alguém poderia me ajudar?

    Desde já agradeço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]DLookup em campo Nulo Empty Dlookup em campo Nulo

    Mensagem  good guy 20/5/2014, 14:07

    Olá pengo,

    Coloque a função Nz que retorna um valor 0 caso o campo esteja nulo.

    Private Sub Avaliação_LostFocus()    
    On Error Resume Next
    Data_Cad = IIf(IsNull([CodigoRef_Cad]), "", Nz(DLookup("[Data_Prevista]", "Cadastro", "[Registro] = " & Forms!Avaliações!CodigoRef_Cad)))
    End Sub
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]DLookup em campo Nulo Empty Re: [Resolvido]DLookup em campo Nulo

    Mensagem  pengo 20/5/2014, 14:14

    Muito Obrigado Eduardo,

    Eu não sei o que eu fiz de errado, mas eu já tinha tentado algo pelo menos parecido.

    Fico muito agradecido pela sua ajuda.

    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]DLookup em campo Nulo Empty Re: [Resolvido]DLookup em campo Nulo

    Mensagem  pengo 20/5/2014, 14:46

    Eduardo, Desculpe reabrir o tópico, mas é que me surgiu mais uma dúvida.

    Teria como eu colocar esse código em um loop, por exemplo, eu abro meu formulário continuo, ele realiza essa função em todos os registros que estão sendo mostrados, e fecha o meu formulário automaticamente?

    Obrigado.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]DLookup em campo Nulo Empty Dlookup em campo Nulo

    Mensagem  good guy 20/5/2014, 15:11

    Olá pengo,

    Me diga uma coisa, funcionou com a dica acima? Se sim tente criar uma consulta atualização com a mesma sintaxe para resolver o seu problema. ANTES, porém, faça um backup de sua tabela Cadastro.


    UPDATE Cadastro SET Data_Cad = IIf(IsNull([CodigoRef_Cad]); ""; Nz(DLookup("[Data_Prevista]"; "Cadastro"; "[Registro] = " & Forms!Avaliações!CodigoRef_Cad)))
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]DLookup em campo Nulo Empty Re: [Resolvido]DLookup em campo Nulo

    Mensagem  pengo 20/5/2014, 17:54

    Olá Eduardo,

    O código funcionou sim, perfeitamente.

    E esse que você me passou por ultimo, depois de eu quebrar a cabeça, consegui implementar.

    Nada como parar um pouco, e tentar observar de outra forma.

    Fica aqui meus agradecimentos a você e a esse maravilho fórum.



    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]DLookup em campo Nulo Empty DLookup em campo Nulo

    Mensagem  good guy 20/5/2014, 18:25

    Olá pengo,

    O fórum todo agradece,

    Se puder passa lá no Facebook e curta minha página para melhor divulgação e compartilhe entre seus amigos..

    https://www.facebook.com/EduardoMachado

    Não deixe de visitar meu site:

    www.goodguyaccessvba.com.br

    Baixe aplicativos gratuitos e como forma de contribuição apenas clique em meus anúncios.
    Baixe se desejar aplicativos comerciais, alguns são profissionalizantes.
    Baixe jogos de entretenimento educacional totalmente gratuitos.
    Baixe apostilas para estudo.
    Leia e copie dicas de Access VBA minhas e de outros colegas.

    Conteúdo patrocinado


    [Resolvido]DLookup em campo Nulo Empty Re: [Resolvido]DLookup em campo Nulo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 13:54