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]Run-time error '3075'

    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 84
    Registrado : 31/10/2014

    [Resolvido]Run-time error '3075' Empty [Resolvido]Run-time error '3075'

    Mensagem  rmjsantos em 9/2/2020, 19:41

    Olá a todos,

    Estou com um problema que gostaria muito se pudessem ajudar.
    Tenho um formulário (f_GuiaEntrega) que ao inserir o nº. da guia no campo (GuiaEntrega) e se o número existir envia a mensagem a dizer que já existe e até aqui tudo bem.
    O problema que surge é que se introduzir o nº e depois o apagar e sair do formulário envia a seguinte mensagem de erro:

    Run-time error '3075'
    Erro de sintaxe (operador em falta) na expressão de consulta 'GuiaEntrega ='.

    Tenho o seguinte código no evento Antes de actualizar do campo GuiaEntrega

    Private Sub GuiaEntrega_BeforeUpdate(Cancel As Integer)
    If DCount("*", "t_GuiaEntrega", "GuiaEntrega =" & Me!GuiaEntrega) = 1 Then
    'A função DCount() contou um ou mais registros existentes
    MsgBox "A Guia de Entrega com o nº.: " & Me!GuiaEntrega & " que inseriu já existe... Insira NOVO Nº. para a Guia de Entrega.", vbCritical, "Atenção"
    Cancel = True 'cancela o evento.
    Me!GuiaEntrega.Undo 'desfaz a digitação.
    Exit Sub
    End If

    End Sub


    Podem ajudar?
    Obrigado.


    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2458
    Registrado : 22/11/2016

    [Resolvido]Run-time error '3075' Empty Re: [Resolvido]Run-time error '3075'

    Mensagem  DamascenoJr. em 9/2/2020, 20:35

    Simples. Basta usar mais uma condicional.

    Private Sub GuiaEntrega_BeforeUpdate(Cancel As Integer)

       'se o campo estiver vazio/nulo então interrompe o código
       if isnull(me!guiaEntrega.value) then exit sub

       If DCount("*", "t_GuiaEntrega", "GuiaEntrega =" & Me!GuiaEntrega) = 1 Then
           'A função DCount() contou um ou mais registros existentes
           MsgBox "A Guia de Entrega com o nº.: " & Me!GuiaEntrega & " que inseriu já existe... Insira NOVO Nº. para a Guia de Entrega.", vbCritical, "Atenção"
           Cancel = True 'cancela o evento.
           Me!GuiaEntrega.Undo 'desfaz a digitação.
           Exit Sub
       End If

    End Sub


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    rmjsantos
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 84
    Registrado : 31/10/2014

    [Resolvido]Run-time error '3075' Empty Re: [Resolvido]Run-time error '3075'

    Mensagem  rmjsantos em 11/2/2020, 20:56

    Olá Damasceno

    Mais uma vez muitíssimo obrigado.
    Deu certo.
    Grato pela sua ajuda.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2458
    Registrado : 22/11/2016

    [Resolvido]Run-time error '3075' Empty Re: [Resolvido]Run-time error '3075'

    Mensagem  DamascenoJr. em 11/2/2020, 22:57

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 5/12/2020, 14:20