MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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 : 11
    Registrado : 16/02/2016

    [Resolvido]Impedir registos com campos duplicados

    Mensagem  ACoelho em Dom 15 Maio 2016, 00: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

    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  Celso Roberto em Seg 16 Maio 2016, 01: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.....

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  FabioPaes em Seg 16 Maio 2016, 02: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 : 11
    Registrado : 16/02/2016

    Impedir registo duplicado

    Mensagem  ACoelho em Seg 16 Maio 2016, 10: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.

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Impedir registos com campos duplicados

    Mensagem  FabioPaes em Seg 16 Maio 2016, 14: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 : 11
    Registrado : 16/02/2016

    Impedir campo duplicado

    Mensagem  ACoelho em Seg 16 Maio 2016, 22:14

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

      Data/hora atual: Sab 10 Dez 2016, 13:42