COMO EVITAR REGISTROS DUPLICADOS

REINALDOSPINDOL 20/09/2011 16:08:48
#384777
E ae Galera, blz?

BD Acess
Visual Basic 6

Preciso de uma ajuda, no meu cadastro de clientes tenho os campos CNPJ e CPF (dois maskedboxes diferentes), nesses campos não posso salvar dados duplicados. Gostaria que quando o usuário digitasse o CNPJ ou CPF aparecesse no lostfocus uma mensagem quando o registro já existir no bd e mostrasse no form os dados existentes. E se não existir que continuasse a rotina normalmente.

Espero que possam me ajudar
Valeu
ALTAIR148 20/09/2011 16:18:32
#384779
Boa tarde,

Olhe esse tópico

http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=234067

Espero ter ajudado...
Até mais.
REINALDOSPINDOL 20/09/2011 16:23:15
#384780
Oh Altair, obrigado pela ajuda, mas acho q num é ainda o que eu procuro, eu queria mesmo é colocar um código logo que o usuário digitar o CNPJ ou CPF. Quando perdesse o foco o sistema procuraria se existe e me mostraria caso fosse verdadeiro.
ALTAIR148 20/09/2011 16:24:56
#384781
Basta fazer um select. e se caso existir ele vai preencher os campos com o resultado do select.
RODRIGOFERRO 20/09/2011 16:43:29
#384783
Amigo é uma questao de logica

Traduzindo

Se o Select Que voce fez pelo cpf do cara retornar algum resultado Entao Existe

Messagebox com Esporro..

Se Noa Trouxer

Liberar Cadastro

FInal

Abraços

REINALDOSPINDOL 21/09/2011 09:25:11
#384819
Então Zerocal, o problema é este, não sei que código colocar pra essa rotina.

Até peguei alguns exemplos mas num deu muito certo.

Obrigado
ALTAIR148 21/09/2011 09:26:38
#384820
Bom dia,

Posta ai o codigo de um exemplo que pegou.


Até mais.
REINALDOSPINDOL 21/09/2011 10:37:37
#384836
Então Altair, eu peguei esse código do próprio site, mas não consegui fazer funcionar, deu vários erros.

http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=328212&varWorld=

Mas a idéia que eu tenho é a mesma desse tópico.

Valeu.
ALTAIR148 21/09/2011 10:39:00
#384839
Pois é amigo...

A gente precisa saber qual o erro para poder te ajudar.

Até mais.
ROBIU 21/09/2011 12:46:45
#384859
Resposta escolhida
Citação:

Private Sub txtNome_LostFocus()
If Rs.State = 1 Then Rs.Close
[ô]Neste caso, vamos usar [Ô]*[Ô] para pegar todos os campos ou citar o nome dos campos no select
[ô]Se você não for usar todos os campos da tabela, liste os nomes para não carregar campos desnecessários:
[ô]Sql=[Ô]Select Codigo, Nome,Endereco,Cidade,Etc From CadPaciente...[Ô]
Sql = [Ô]Select * From CadPaciente Where Nome =[ô][Ô] & TxtNome.Text & [Ô][ô][Ô]
Rs.Open Sql, CnSql, adOpenKeyset, adLockPessimistic
If Rs.RecordCount > 0 Then
MsgBox [Ô]Já Existe um Cliente com esse Nome Cadastrado [Ô], vbExclamation, [Ô] Sisnews Informações[Ô]
[ô]TxtNome.Text = [Ô][Ô]
TxtNome.SetFocus
[ô]Coloque aqui o código para carregar os campos
[ô]TxtCodigo.Text=Rs(0) ou TxtCodigo.Text=Rs([Ô]Codigo[Ô])
[ô]TxtEndereco.Text=RS([Ô]endereco[Ô])
[ô]TxtCidade.Text=RS([Ô]Cidade[Ô])
End If
Rs.Close
End Sub



Precisamos vê como você acessa o banco de dados. Posta o código de conexão. Esse exemplo é com ADO, com a conexão aberta e com um objeto RS declarado e instanciado.

Posta seu código que fica fácil de resolver.
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas