Hola sac.
Cita:
Empezado por sac
suponiendo que el Cod_Venta sea 23 y el Vta_Articulo sea Lapiz, capaz que agregandole un AND a ese Where le pueda indicar:
Where el codigo = 23 (que lo traigo del edit)
AND Vta_articulo = lapiz. ( a lapiz lo traería del DBLooUpListBox) entonces borrar...
|
Creo que lo mejor es agregar un campo ID autoincremental para cada ítem, ya que en teoría es factible, por ejemplo, que en una venta se dé esta situación:
Código:
Descripcion | Cantidad | Subt.
------------+----------+--------
Lapiz | 2 | 4
Fibrón | 1 | 5
Folios | 10 | 10
...
( A ver... Mejor deme cinco lápices mas. )
Lapiz | 5 | 10
¿ Y en ese caso cual ítem de lápiz borramos, el de 2 unidades o el de 5 ?
Usando un campo único de identificación (transparente para el usuario) el borrado sería:
Código Delphi
[-]
with Q_Borrar do
begin
Close;
SQL.Text := 'DELETE FROM LIBRERIA_VENTA WHERE ID = :PARAMID';
ParamByName('PARAMID').AsInteger := Tu_DataSet.FieldByName('ID').AsInteger;
ExecSQL;
end;
Tu_DataSet.Refresh;
Basta entonces, estar posicionado en el registro que se desea borrar en
Tu_DataSet e invocar al código anterior para que se realize el borrado correcto.
Saludos