Hola magnu9... siento reabrirte el tema... es solo para aplicar otra idea al tema
Cita:
Código Delphi [-]if sqlcliente.Fields[0].AsInteger <>0 then
|
Este codigo seria en el caso de que tuvieras un registro, como cuando te devolvia un campo de agregado, p.e. el COUNT(codcli) en las consultas que tenias antes. No se si ahora te dará error de esa forma cuando no haya un registro.
Por cierto no se que tipo de dato es codzon, pero si es de tipo cadena, tendrias que poner el valor para la query entre comillas.
Código Delphi
[-]sqlcliente.SQL.Text:='select codcli from cliente where codzon='+ QuotedStr(dbeCodigo.Text);
Creo que te quedaria mas simple asi:
Código Delphi
[-]
procedure TmtZona.btBorrarClick(Sender: TObject);
begin
sqlcliente.SQL.Text:='select codcli from cliente where codzon='+ dbeCodigo.Text;
sqlcliente.Open;
if sqlcliente.RecordCount>0 then showmessage('Esta Zona Tiene Clientes Asignados')
else
if MessageDlg('¿ Seguro que desea borrar la Zona ' +
dbeCodigo.Text + ' ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
tZona.Delete;
sqlcliente.close;
end;
O si prefieres con el Count como tenias antes:
Código Delphi
[-]
procedure TmtZona.btBorrarClick(Sender: TObject);
begin
sqlcliente.SQL.Text:='select count(codcli) from cliente where codzon='+ dbeCodigo.Text;
sqlcliente.Open;
if sqlcliente.Field[0].asInteger<>0 then
showmessage('Esta Zona Tiene Clientes Asignados')
else
if MessageDlg('¿ Seguro que desea borrar la Zona ' +
dbeCodigo.Text + ' ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
tZona.Delete;
sqlcliente.close;
end;