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


4 participantes

    [Resolvido]Função DLookup ajuda, nao esta dando certo

    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 06/09/2011

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  wmantovani 21/10/2014, 18:25

    Boa tarde pessoal, estou precisando de ajuda...li a pagina http://maximoaccess.forumeiros.com/t1533-funcao-dlookup-explicacao para tentar entender mas não consegui o resultado esperado,


    Tenho uma tabela chamada "COLETA DE GALHOS" com os seguintes campos:

    ENDEREÇO, formato texto
    quadra, formato número
    número, formato número
    data execução, formato data


    preciso que ao inserir após atualizar o campo Me.Endereço no formulário ele pesquise na tabela coleta de galhos se os campos endereço, quadra e número já foram cadastrados, porem a data da execução tem que ser nula e ai emite i MSGBOX "registro existente", caso o campo "data execução" esteja preenchido elenão seja nula permita o cadastro, tentei me basear em alguns exemplos mas não ta dando certo,,,pode ocorrer de não haver o preenchimento do número também, mas os campos endereço e quadra são obrigatórios.

    eis o que ja tentei e deu certo
    Código Funcionando
    If (Not IsNull(DLookup("[ENDEREÇO]", "COLETA DE GALHOS", "[ENDEREÇO] like '" & Me!ENDEREÇO & "'"))) Then
    MsgBox "Endereço já cadastrado há " & Date - [DATA] & " dias. A previsão de coleta é para " & [DATA] + 20 & ".", vbCritical, "Atenção"


    Agora se coloco mais um criterio nao funciona nada
    If (Not IsNull(DLookup("[ENDEREÇO]", "COLETA DE GALHOS", "[ENDEREÇO] like '" & Me!ENDEREÇO & "'" & "[QUADRA]" = Me.QUADRA))) Then....
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 715
    Registrado : 07/05/2010

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Jungli 21/10/2014, 20:50

    Boa tarde,


    Dim seq As String, Filtro As String, k
    seq = "[ENDEREÇO] & '|' & [QUADRA] & '|' & [NÚMERO] & '|' & [DATA EXECUÇÃO]"
    seq = Dlookup(seq, "COLETA DE GALHOS", "ENDEREÇO = '" & Me.ENDEREÇO.Value & "'")
    k = Split(seq, "|")
    Me!NomeDocampoA = k(0)
    Me!NomeDoCampoB = k(1)
    Me!NomeDoCampoC = k(2)
    Me!NomeDoCampoD = k(3)


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Alexandre Neves 21/10/2014, 21:06

    Boa noite,
    Movi para esta sala. A sala de repositórios deve ser mantida para a sua finalidade


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 06/09/2011

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  wmantovani 22/10/2014, 20:16

    Não deu certo, acho que nao me expressei direito, vou tentar novamente,,,,

    Em um formulário a pessoa solicita a coleta de galhos. O atendente ao inserir o endereço, quadra e número, roda o VBA pesquisando se o endereço com quadra e numero já foi cadastrado, se sim e o campo [data execução] estiver nulo e não deixa cadastrar , emite uma mensagem dizendo que já há cadastro e limpa o formulário. Se o campo [data da execução] estiver preenchido, permite o cadastro normalmente.

    Um detalhe, pode ocorrer do campo número ser ou não preenchido, porem endereço e quadra são obrigatórios.



    Private Sub quadra_GotFocus()
    Dim seq As String, Filtro As String, k
    seq = "[ENDEREÇO] & '|' & [QUADRA] & '|' & [NÚMERO] & '|' & [DATA EXECUÇÃO]"
    seq = DLookup(seq, "COLETA DE GALHOS", "ENDEREÇO = '" & Me.ENDEREÇO.Value & "'")
    k = Split(seq, "|")
    Me.ENDEREÇO = k(0)
    Me.QUADRA = k(1)
    Me.NÚMERO = k(2)
    Me.[DATA EXECUÇÃO] = k(3)
    MsgBox "Endereço já cadastrado", vbCritical, "Atenção"
    End Sub

    apos atualizar esta dando a mensagem de erro, Erro em tempo de execução (94)
    uso de Null Invalido
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 715
    Registrado : 07/05/2010

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Jungli 22/10/2014, 21:45

    Boa tarde, você pode anexar a parte do se banco de dados que está com problema?


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 06/09/2011

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  wmantovani 23/10/2014, 11:36

    O formulário esta em serviços, cata galhos...valeu pela ajuda desde já
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 715
    Registrado : 07/05/2010

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Jungli 23/10/2014, 23:56

    Boa, Use este código.

    Aqui optei pelo uso de recordset no lugar do dblookup

    Código:


    Dim DIAS As String
    DIAS = Date - [DATA]

    '// Cria o recordset
        Dim rs1 As DAO.Recordset
    '// Abre o recordset
        Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM [COLETA DE GALHOS] WHERE LOG_NU_SEQUENCIAL=" & Me.LOG_NU_SEQUENCIAL & ";")
    '// Verifica se o cadastro já existe
        If rs1![DATA EXECUÇÃO] = Me.DATA_EXECUÇÃO And _
           rs1![ENDEREÇO] = Me.ENDEREÇO And _
           rs1![QUADRA] = Me.QUADRA And _
           rs1![NÚMERO] = Me.NÚMERO Then
           '// Informa ao usuário
               MsgBox "Endereço já cadastrado !!!", vbCritical, "Atenção"
        End If
    '// Fecha o recordset e limpa a memória
        Set rs1 = Nothing: Close


    Lembrando  que o campo DATA EXECUÇÃO tem que estar no formulário.

    abs.


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Noobezinho 24/10/2014, 02:06

    Mantovani

    Pelo que entendi, é um serviço de uma prefeitura ou sua terceirizada, certo?

    Entendo que trabalhar com dados digitados como endereço, quadra, etc.. podemos cair no erro de digitação
    constantemente, o que dificulta uma pesquisa posteriormente.

    Então aqui está uma dica.
    Todo imóvel, tem seu código na prefeitura o qual é chamado de indicação fiscal, DAM (Documento de Arrecadação Municipal), etc.
    Esse número é único para cada imóvel.
    Procure usar esse código para os imoveis cadastrado.
    Quando cadastrar é só pedir pelo número que consta no carnê do IPTU do imóvel.
    Isso irá facilitar a tua vida a do teu cliente.
    E irá facilitar a construção das tuas pesquisas.

    Abraços

    Nb






    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 06/09/2011

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  wmantovani 24/10/2014, 13:43

    Ainda com erro !!!!
    tentei adaptar a linha conforme o link http://maximoaccess.forumeiros.com/t17043-resolvidoverificar-se-registro-ja-e-existente-no-banco-de-dados?highlight=existente, tambem nao dá certo,

    Bom dia pessoal, primeiramente agradeço a ajuda recebida até o momento,

    Caro JUNGLI

    O código que escreveu deu certo em partes mesmo colocando o campo [data execução] no formulário, pois na linha

    If rs1![DATA EXECUÇÃO] = Me.DATA_EXECUÇÃO And _ pode haver de um endereço já ter sido cadastrado e recolhido no passado e haver uma nova solicitação no futuro, então alterei a linha com os critérios abaixo testando uma a uma.

    If rs1![DATA EXECUÇÃO] = "", não deu certo
    If rs1![DATA EXECUÇÃO] = null , não deu certo
    If rs1![DATA EXECUÇÃO] = empety, não deu certo
    If rs1![DATA EXECUÇÃO] = 0, não deu certo
    If rs1![DATA EXECUÇÃO] IS NULL, não deu certo

    Observação, a data de execução só é preenchida futuramente após o serviço ser executado pelas equipes de rua, porem esta não é preenchida neste momento de solicitação.

    nao sei onde estou errando, pois o criterio dos outro campos a ser consultado estão certos, porem o condicionante que este campo [data execução] esteja nulo(vazio) na tabela,


    Caro Noobezinho, quanto a sua sugestão já havia feito deste modo, mas para os contribuintes principalmente os locatários nao tem acesso a essa informação, entao para os atendentes é mais facil o endereço mesmo. obrigado pela contribuição...
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 218
    Registrado : 06/09/2011

    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  wmantovani 29/10/2014, 10:19

    Ja deu certo,, podem fechar o tópico

    Conteúdo patrocinado


    [Resolvido]Função  DLookup ajuda, nao esta dando certo Empty Re: [Resolvido]Função DLookup ajuda, nao esta dando certo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 22:07