ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Não Permitir Cadastro Duplicado.

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

CROVADOR
Colaborador
Colaborador
Mensagens: 82
Registrado em: Ter Mar 13, 2018 11:15 am

Não Permitir Cadastro Duplicado.

Mensagem por CROVADOR »

Boa tarde amigos, alguém pode ajudar-me com este código para não cadastrar duplicado?
Banco de dados é Access.

Obrigado, Deus abençoe...

Private Sub btnGravar_Click()

If Me.txt_cnpj_cpf = Empty Then
MsgBox "Digite Cnpj/Cpf.", vbExclamation, "Atenção"
Me.txt_cnpj_cpf.SetFocus
Exit Sub
End If

If Inc = True Then
rsOrçDetum.AddNew
Else

rsOrçGradum.Close
SqlOrçGradum = "DELETE FROM tbOrçamento_Grade1 WHERE Nro_Orçamento = " & NroOrçum 'Apaga os registros antigos
rsOrçGradum.Open SqlOrçGradum, cn, adOpenKeyset, adLockOptimistic 'pra incluir os dados atualizados
SqlOrçGradum = "SELECT * FROM tbOrçamento_Grade1"
rsOrçGradum.Open SqlOrçGradum, cn, adOpenKeyset, adLockOptimistic

End If

rsOrçDetum(1) = Date
rsOrçDetum(2) = Me.txtNome
rsOrçDetum(3) = Me.txtObservaçoes
rsOrçDetum(4) = Me.txtTelefone
rsOrçDetum(5) = Me.txt_contato
rsOrçDetum(6) = Me.txt_email
rsOrçDetum(7) = Me.txt_endereço
rsOrçDetum(8) = Me.txt_cnpj_cpf
rsOrçDetum(9) = Me.txt_ie
rsOrçDetum(10) = Me.TXT_NUMERO
rsOrçDetum(11) = Me.txt_bairro
rsOrçDetum(12) = Me.txt_cep
rsOrçDetum(13) = Me.txt_cidade
rsOrçDetum(14) = Me.txt_uf

rsOrçDetum.Update

For i = 1 To Me.lstvOrç.ListItems.Count
With Me.lstvOrç
rsOrçGradum.AddNew
rsOrçGradum(0) = NroOrçum
rsOrçGradum(1) = .ListItems(i)
rsOrçGradum(2) = .ListItems(i).ListSubItems(1)

rsOrçGradum.Update
End With
Next i
If Inc = True Then
rsNroum.AddNew
rsNroum(0) = NroOrçum
rsNroum.Update
End If

LimpaControles
rsNroum.MoveLast
NroOrçum = rsNroum(0).Value + 1
Me.stbOrç.Panels(1) = NroOrçum
iCancel = 0
MsgBox "Registro Salvo Com Sucesso.", vbInformation, "Clientes"
Me.btnLer.Enabled = True

Dim resposta As String

resposta = MsgBox("Deseja Inserir O Veículo Do Cliente?", 4 + vbQuestion, "Aviso")
Select Case resposta
Case vbYes
Case vbNo
Exit Sub
End Select
Unload Me
Cadastro_Veiculo.Show

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1476
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Não Permitir Cadastro Duplicado.

Mensagem por Reinaldo »

O Access; por padrão, se as tabelas forem configuradas corretamente; impede a inclusão de duplicidade.
Outra maneira e verificar/consultar, antes da inclusão, se o registro existe.
Pelo código postado fica difícil, pelo menos para mim; definir a maneira.
Se não houver resultado; poste seu modelo, ou um modelo significativo com dados fictícios.


Reinaldo
:oops: :D :mrgreen: :geek:
CROVADOR
Colaborador
Colaborador
Mensagens: 82
Registrado em: Ter Mar 13, 2018 11:15 am

Re: Não Permitir Cadastro Duplicado.

Mensagem por CROVADOR »

Reinaldo escreveu: Ter Jan 11, 2022 11:53 am O Access; por padrão, se as tabelas forem configuradas corretamente; impede a inclusão de duplicidade.
Outra maneira e verificar/consultar, antes da inclusão, se o registro existe.
Pelo código postado fica difícil, pelo menos para mim; definir a maneira.
Se não houver resultado; poste seu modelo, ou um modelo significativo com dados fictícios.
Bom dia, Segue arquivo amigo...

senha vba 563102
Anexos
TESTE.rar
(222.04 KiB) Baixado 7 vezes


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1476
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Não Permitir Cadastro Duplicado.

Mensagem por Reinaldo »

CROVADOR, o editor vbe está com senha.
Qual o critério para definir duplicidade e em qual tabela


Reinaldo
:oops: :D :mrgreen: :geek:
Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


CROVADOR
Colaborador
Colaborador
Mensagens: 82
Registrado em: Ter Mar 13, 2018 11:15 am

Re: Não Permitir Cadastro Duplicado.

Mensagem por CROVADOR »

Reinaldo escreveu: Qui Jan 13, 2022 12:52 pm CROVADOR, o editor vbe está com senha.
Qual o critério para definir duplicidade e em qual tabela
Boa tarde,
Senha 563102

no textbox cpf/cnpj tabela tbOrç_Detalhe1

Usei o critério abaixo, mas porém quando vou selecionar para editar ele diz que já existe....

Private Sub txt_cnpj_cpf_AfterUpdate()
On Error Resume Next
Dim ComandoSQL As String

SqlOrçDetum = "SELECT * FROM tbOrç_Detalhe1" 'Listagem de Orçamentos
Set rsOrçDetum = New ADODB.Recordset
rsOrçDetum.Open SqlOrçDetum, cn, adOpenKeyset, adLockOptimistic

Do Until rsOrçDetum.EOF
If rsOrçDetum(8) = "" & Me.txt_cnpj_cpf.Text Then

MsgBox "CNPJ/CPF " & Me.txt_cnpj_cpf.Text & " É Existente!", vbInformation, "Cadastro Duplicado!"

txtNome = Empty
txt_cnpj_cpf = Empty
txt_ie = Empty

Exit Sub
End If

rsOrçDetum.MoveNext

Loop
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder