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]Valor único. Não duplicar número

    Compartilhe

    VanessaPina
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 55
    Registrado : 13/01/2017

    [Resolvido]Valor único. Não duplicar número

    Mensagem  VanessaPina em 6/12/2017, 14:11

    Boa tarde,

    Como posso fazer para que um número não seja duplicado, sem ser com a chave primária? Ou seja, tenho um cliente com o número 1 e quando adiciono um novo cliente e coloco o número 1 ele diga que já está atribuído.

    Agradeço desde já a vossa ajuda.

    Smile
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Valor único. Não duplicar número

    Mensagem  Alexandre Neves em 6/12/2017, 15:26

    Boa tarde
    No form, colocar no acontecimento AntesDeActualizar do controlo onde tem o NrCliente
    If DCount("*","Tabela","NrCliente=" & TxtNrCliente)>0 then
    msgbox "Cliente já registado."
    docmd.cancelevent
    end if


    .................................................................................
    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

    VanessaPina
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 55
    Registrado : 13/01/2017

    Re: [Resolvido]Valor único. Não duplicar número

    Mensagem  VanessaPina em 6/12/2017, 18:10

    Não está a funcionar...
    Devo estar a colocar mal qualquer coisa no código. A minha tabela chama-se Tbl_Doentes, o Campo da tabela é o NH e o número está no Frm_Doentes e na caixa txtNH...

    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Valor único. Não duplicar número

    Mensagem  Alexandre Neves em 7/12/2017, 09:58

    Bom dia,
    If DCount("*","Tbl_Doentes","NH=" & txtNH)>0 then
    msgbox "Cliente já registado."
    docmd.cancelevent
    end if


    .................................................................................
    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

    VanessaPina
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 55
    Registrado : 13/01/2017

    Re: [Resolvido]Valor único. Não duplicar número

    Mensagem  VanessaPina em 7/12/2017, 14:25

    Já encontrei o erro. Tinha o Campo NH como texto.
    Mudei para Campo numérico e ficou a funcionar.
    Usei este código:
    Código:
    Private Sub txtNH_BeforeUpdate(Cancel As Integer)
    If DCount("NH", "Tbl_Doentes", "NH=" & txtNH) > 0 Then
    MsgBox "NH já registado. Por favor confirmar número."
    DoCmd.CancelEvent
    End If
    End Sub

    Muito Obrigada pela vossa ajuda e disponibilidade.

      Data/hora atual: 15/8/2018, 19:28