ME ajudem - Pesquisa Varrendo a tabela?????
18/02/2003
0
Olá Amigos, estou usando o seguinte código ao excluir um convenio que é o seguinte:
Ta baela clienetes tenho o campo CodConvenio para que cada cliente cadastrado eu seleciono o comvenio que ele pertence...porém eu só posso excluir um convenio se nenhum cliente deste convênio esta em débito (campo DEVE <>0) vejam a baixo:
procedure TfrmConvenios.btexcluirClick(Sender: TObject);
begin
dmprincipal.tblClientes.DisableControls;
if gmsgpergunta(´´,´Deseja excluir o convênio ´+ dmprincipal.tblConvenioDescricao.Value,False)= mryes then
while not dmprincipal.tblClientes.Eof do
begin
if(dmprincipal.tblClientes.Locate(´CODCON´,DMPRINCIPAL.tblConvenioCODCON.Value,[]))AND
(DMPRINCIPAL.tblClientesDEVE.Value <> 0)then
GMSGINFORMA(´´,´Ha Débitos para este convênio!´+#13+ ´Não pode ser excluido!´,False);
dmprincipal.tblClientes.Next end else
dmprincipal.tblClientes.Delete;
dmprincipal.tblClientes.EnableControls;
end;
Por favor ajudem...o código acima trava o sistema da pau em tudo e nem funciona!!
Ta baela clienetes tenho o campo CodConvenio para que cada cliente cadastrado eu seleciono o comvenio que ele pertence...porém eu só posso excluir um convenio se nenhum cliente deste convênio esta em débito (campo DEVE <>0) vejam a baixo:
procedure TfrmConvenios.btexcluirClick(Sender: TObject);
begin
dmprincipal.tblClientes.DisableControls;
if gmsgpergunta(´´,´Deseja excluir o convênio ´+ dmprincipal.tblConvenioDescricao.Value,False)= mryes then
while not dmprincipal.tblClientes.Eof do
begin
if(dmprincipal.tblClientes.Locate(´CODCON´,DMPRINCIPAL.tblConvenioCODCON.Value,[]))AND
(DMPRINCIPAL.tblClientesDEVE.Value <> 0)then
GMSGINFORMA(´´,´Ha Débitos para este convênio!´+#13+ ´Não pode ser excluido!´,False);
dmprincipal.tblClientes.Next end else
dmprincipal.tblClientes.Delete;
dmprincipal.tblClientes.EnableControls;
end;
Por favor ajudem...o código acima trava o sistema da pau em tudo e nem funciona!!
Anonymous
Curtir tópico
+ 0
Responder
Posts
18/02/2003
Dor_poa
O seu problema é que ele não esta avançando o registro... Acho que vc. tambem deveria usar um repeat...
dmprincipal.tblClientes.first;
repeat
if dmprincipal.tblClientes.Locate (´CODCON´,DMPRINCIPAL.tblConvenioCODCON.Value,[])) then
begin
if (DMPRINCIPAL.tblClientesDEVE.Value <> 0)then
begin
GMSGINFORMA(´´,´Ha Débitos para este convênio!´+#13+ ´Não pode ser excluido!´,False);
dmprincipal.tblClientes.Next
end else dmprincipal.tblClientes.Delete ;
end else
begin
dmprincipal.tblClientes.Next;
end;
until dmprincipal.tblClientes.eof;
dmprincipal.tblClientes.first;
repeat
if dmprincipal.tblClientes.Locate (´CODCON´,DMPRINCIPAL.tblConvenioCODCON.Value,[])) then
begin
if (DMPRINCIPAL.tblClientesDEVE.Value <> 0)then
begin
GMSGINFORMA(´´,´Ha Débitos para este convênio!´+#13+ ´Não pode ser excluido!´,False);
dmprincipal.tblClientes.Next
end else dmprincipal.tblClientes.Delete ;
end else
begin
dmprincipal.tblClientes.Next;
end;
until dmprincipal.tblClientes.eof;
Responder
Clique aqui para fazer login e interagir na Comunidade :)