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

    Erro em tempo de execução 3075

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Erro em tempo de execução 3075 Empty Erro em tempo de execução 3075

    Mensagem  rg3915 21/8/2013, 14:27

    Erro de sintaxe (operador faltando) na expressão de consulta 'IDContato = '.

    Essa é clássica, mas na verdade que queria resolver esse problema de uma vez por todas sem ter que recorrer a soluções alternativas.

    Código:
    Private Sub ClientePreenchido_AfterUpdate()

        Dim intIDContato As Integer

       'Solução alternativa   
        If Me.ClientePreenchido.Column(2) = "" Then
            MsgBox "Contato vazio"
            Exit Sub
        End If
       
        'Dá erro 3075 quando o DLookup não acha nada.
        intIDContato = DLookup("IDContato", "Contatos", "IDContato = " & Me.ClientePreenchido.Column(2))
       
        If Me.ClientePreenchido.ListIndex <> -1 Then
            If IsEmpty(intIDContato) Then
                MsgBox "Contato não existe"
            Else
                Me.ContatoDoClientePreenchido = intIDContato
            End If
            Me.Rotulo2.Visible = True
        End If
       
    End Sub
    Preciso resolver o problema de valor nulo no DLookup definitivamente.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  Leandro 21/8/2013, 15:07

    O tipo de dados na tabela está como número?

    Não precisa ter espaços entre o sinal de igual e as aspas.

    intIDContato = DLookup("IDContato", "Contatos", "IDContato=" & Me!ClientePreenchido.Column(2))

    Mas tenho outra dúvida!

    Esse 'IDContato' que você busca na tabela 'Contatos', é igual a coluna da combo?

    Não serve só carregar a variável com o conteúdo da coluna da combo?

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  rg3915 21/8/2013, 16:06

    Nossa Leandro, realmente, seria mais inteligente eu já "pegar" a informação direto da combo.
    E realmente, é número mesmo.
    Só que mesmo assim, não só para este caso, mas para todos os demais de Dlookup, como eu faria caso desse retorno nulo?

    Independente da sua resposta o problema já estaria resolvido como voce sugeriu.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  Leandro 21/8/2013, 17:26

    Basicamente você deve seguir as regras de critério.

    Número:

    intIDContato = DLookup("IDContato", "Contatos", "IDContato=" & Me!ClientePreenchido.Column(2))

    Texto:

    intIDContato = DLookup("IDContato", "Contatos", "IDContato='" & Me!ClientePreenchido.Column(2) & "'")

    Data:

    intIDContato = DLookup("IDContato", "Contatos", "IDContato=#" & Me!ClientePreenchido.Column(2) & "#")


    Por favor não esqueça o Resolvido

    Abraço

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  rg3915 21/8/2013, 21:20

    Quase resolvido.
    Mas e a pergunta principal?
    Como corrigir o erro 3075 quando retorna um valor nulo?
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  Leandro 21/8/2013, 21:38

    Coloque depois do Private:

    On error resume next


    Conteúdo patrocinado


    Erro em tempo de execução 3075 Empty Re: Erro em tempo de execução 3075

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 04:15