MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Impedir registos com campos duplicados

    Compartilhe

    ACoelho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 13
    Registrado : 16/02/2016

    [Resolvido]Impedir registos com campos duplicados

    Mensagem  ACoelho em Sab 14 Maio 2016, 23:19

    Boa noite
    copiei do Mestre VieiraSoft o seguinte código para impedir de inserir dados num formulário que já existem na tabela.
    O 1º campo OBRA_NOB é Numero e decimal
    O segundo é texto
    no 2º funciona na perfeição
    no 1º dá erro na linha Cancel = True
    Alguem me pode ajudar por favor?
    ---------------------------------
    Private Sub OBRA_NOB_AfterUpdate()
       If (Not IsNull(DLookup("[OBRA_NOB]", "OBRAS_SERVER", _
       "[OBRA_NOB] =" & Me!OBRA_NOB))) Then
       MsgBox "Já existe um registo de obra com o número..." & OBRA_NOB.Value, vbInformation, "Aviso"
       Cancel = True 'Cancela o evento
       Me!OBRA_NOB.Undo 'desfaz a digitação.
       End If

    End Sub
    ----------------------------------------------
    Private Sub ORCAM_NOB_BeforeUpdate(Cancel As Integer)

       If (Not IsNull(DLookup("[ORCAM_NOB]", "OBRAS_SERVER", _
       "[ORCAM_NOB] ='" & Me!ORCAM_NOB & "'"))) Then
       MsgBox "Já existe um orçamento registado com o número..." & ORCAM_NOB.Text, _
       vbInformation, "Aviso"
       Cancel = True 'cancela o evento.
       Me!ORCAM_NOB.Undo 'desfaz a digitação.
       End If

    End Sub
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 662
    Registrado : 01/03/2014

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  Celso Roberto em Seg 16 Maio 2016, 00:53

    Boa Noite

    Tente o seguinte:

    Substitui

    Cancel = True  por Exit Sub ou Exit Function


    Tente e veja se dá certo

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3210
    Registrado : 14/08/2013

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  FabioPaes em Seg 16 Maio 2016, 01:24

    E interessante o amigo postar o Erro que apresenta, e o que pretende... Pois se que apenas Voltar ao estado de Novo Registro (limpara tudo que foi sigitado) coloque:
    Me.Undo


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    ACoelho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 13
    Registrado : 16/02/2016

    Impedir registo duplicado

    Mensagem  ACoelho em Seg 16 Maio 2016, 09:22

    Caro Fabio Paes,
    obrigado pela sua disponibilidade,
    aqui vai o erro que dá

    Compile error:
    Variable not defined

    também experimentei o Me.Undo, limpa o campo mas foca o campo seguinte.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3210
    Registrado : 14/08/2013

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  FabioPaes em Seg 16 Maio 2016, 13:42

    Entao, apos o .undo mova o Foco para o campo que pretende...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    ACoelho
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 13
    Registrado : 16/02/2016

    Impedir campo duplicado

    Mensagem  ACoelho em Seg 16 Maio 2016, 21:14

    Já percebi.... bastou colocar o código no beforeupdate e não no afterupdate.
    de qualquer modo obrigado

      Data/hora atual: Sab 22 Jul 2017, 17:36