Fórum Testar se o Código de barra ja existe. #374901
14/09/2009
0
To tentando inserir uma menasgem de erro no meu cadastro de produtos pra caso ja exista no banco um codigo de barra igual ao que eu estou tentando cadastrar.. E preciso colocar o código no evento ´before insert´ da tabela de produtos(IBQProdutos)...
Que tipo de código eu posso usar pra testar se já existe?
Tentei usar um Locate:
if IBQProdutos.locate(´CD_BAR´, DBEdit4.Text, []) then
ShowMessage(´Já existe um produto cadastrado com este código de barra´)
DBEdit4.text no caso é o edit onde eu coloco o numero do código de barra...
Deu pra entender? Se alguem pude ajudar (:
Spleen
Curtir tópico
+ 0Posts
14/09/2009
Vmlima
é o seguinte, vc pode fazer de várias formas...
Uma delas é colocar o campo de codigo de barras como unique diretamente no banco, mas se vc não quer colocar regras no banco, vc pode fazer assim
No before post da sua query vc coloca outra query que fará a pesquisa:
IBQuery.Close;
IBQuery.SQL.Text := ´select * from tabelaproduto where CD_BARRA = ´ + NovoCodigoDeBarra;
IBQuery.Open;
If IBQuery.RecordCount > 0 then begin
IBQProdutos.CanvelUpdates;
ShowMessage(´Produto ja cadastrado´)
end;
Espero ter ajudado, att.
Gostei + 0
15/09/2009
Spleen
valeu mesmo.
O código acabou ficando assim:
IBQCodigoDeBarras.Close;
IBQCodigoDeBarras.SQL.Text := ´SELECT CD_BAR, CD_PRD FROM PRODUTOS WHERE CD_BAR = ´ + CodBarra + ´AND CD_PRD <> ´ + DBEdit1.Text;
IBQCodigoDeBarras.Open;
if IBQCodigoDeBarras.RecordCount > 0 then
begin
if Application.MessageBox(´O código de barras já existe! Deseja continuar?´, ´Aviso!´, MB_ICONEXCLAMATION + MB_YESNO) = idNo then
Abort;
end;
Gostei + 0
15/09/2009
Vmlima
Estamos ai,
Agora só falta vc colocar [Resolvido] no tópico
att.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)