PEsquisa!!!!!!!!!!!!!VERIFICA!!!!!!!!!!!!NAO RETIRA!!!!!!!!!

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!!


Anonymous

Anonymous

Responder

Posts

18/02/2003

Anonymous

Caso vc estivesse trabalhando com query, seria mais fácil e rápido fazer esta exclusão.

A query ficaria assim:

with query_consulta do
begin
close;
sql.text := ´Select cod_convenio from convenio ´ +
´ where nom_convenio = ´´ + edt_convenio.text + ´´´ +
´ and cod_convenio in (Select c.cod_convenio
´ from cliente_deve cd, cliente c´ +
´ where c.cod_cliente = cd.cod_cliente´ +
´ and cd.val_debito = 0´);
Open;
//Esta query irá verificar se existe algum débito para o convênio digitado no edt_convenio
if recordcount = 1 then
begin
with query_deleta do
begin
close;
sql.text := ´delete from convênio ´ +
´ where cod_convenio = ´ +query_consulta.fields[0].asstring;
execsql;
end;
end
else
begin
Showmessage(´O convênio informado possui débito. Não pode ser excluído!´);
end;
end;


Espero ter ajudado.

Até mais

Ruy Salles


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar