EVITAR DUPLICIDADE NO BANCO DE DADOS

 Tópico anterior Próximo tópico Novo tópico

EVITAR DUPLICIDADE NO BANCO DE DADOS

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#484459 - 12/09/2018 12:43:37

LUIZCMF9
BOA VISTA
Cadast. em:Setembro/2018


Bom dia o código é para verificar duplicidade e funcionou em partes. No evento Keypress e no evento change da txt_codigo tem dado o seguinte problema.
Se eu tiver no banco de dados um codigo ja cadastrado tipo: 112 e eu for cadastrar um codigo idêntico tipo 1122 acrescentando apenas mais um numero no final sendo que os tres primeiros numeros são de um codigo ja cadastrado....a mensagem de produto cadastro ja surge...então eu preciso que o codigo deixe eu cadastrar o item pois ele não é igual ele apenas tem os tres primeiros numeros iguais. Então o evento é para atuar quando eu mudar o foco para outra caixa de texto e não enquanto eu estiver na caixa digitando.
Esse foi o código que fiz...alguém pode me ajudar?
conectdb
        rs.Open "Select * from Tb_entrada where Codigo='" & txt_codigo & "'", db, 3, 3
        registro = rs.RecordCount <> 0 'Se encontrar algum registro então fica verdadeiro
fechadb
      If registro = True Then
         MsgBox "Este produto já foi cadastrado!"
        
         txt_codigo = ""
         txt_codigo.SetFocus
      Exit Sub
      End If

Luis Carlos

#484460 - 12/09/2018 13:15:41

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Deveria usar parâmetros ao invés de concatenar as strings.

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#484461 - 12/09/2018 13:20:02

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
E chaves primárias ao invés de consultas.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


Resposta escolhida #484463 - 12/09/2018 13:50:00

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


dois palpites e ninguém se preocupou em ajudar no que realmente ele queria fazer...
só colocar seu código do evento LostFocus

agora sim, para melhorar use parâmetros na sua consulta, e sim, use chave primária na sua tabela para não repetir o código.



#484464 - 12/09/2018 14:02:49

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Citação:
:
dois palpites e ninguém se preocupou em ajudar no que realmente ele queria fazer...
só colocar seu código do evento LostFocus

agora sim, para melhorar use parâmetros na sua consulta, e sim, use chave primária na sua tabela para não repetir o código.


Não entendi a diferença no evento lostfocus ou keypress, o resultado será o mesmo.
E sim, o melhor a ser feito é usar chave primária, para que não haja redundância nos registros. Deixar o usuário escolher o código é loucura, mas é claro, você pode ter uma coluna com chave primária e outra que o usuário informa o código, com a regra desejada, mas sempre permanecendo o controle da chave primária no banco de dados.



#484465 - 12/09/2018 14:16:57

LUIZCMF9
BOA VISTA
Cadast. em:Setembro/2018


Citação:
:
dois palpites e ninguém se preocupou em ajudar no que realmente ele queria fazer...
só colocar seu código do evento LostFocus

agora sim, para melhorar use parâmetros na sua consulta, e sim, use chave primária na sua tabela para não repetir o código.


Meu xará! você ajudou de verdade....problema resolvido...muito obrigado!

Luis Carlos

#484466 - 12/09/2018 15:06:34

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


Citação:
Não entendi a diferença no evento lostfocus ou keypress, o resultado será o mesmo.

usar o keypress da forma que ele esta usando, a cada inserção ele vai verificar o código digitado,
poderia sim manter no keypress mas validar somente após um "enter"



#484485 - 14/09/2018 10:45:40

WEBMASTER
CURITIBA
Cadast. em:Janeiro/2001


Membro da equipe
Nao faz isso na aplicacao, faca no banco com indices, voce vai ver como fica beeeeeeem mais rapido

WebMaster - VBMania

Nao me mande e-mail com duvidas
Para isso e que existe o forum do VBMania !!!

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LUIZCMF9 em 14/09/2018 11:11:50