Ver Mensaje Individual
  #5  
Antiguo 23-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola sac.
Cita:
Empezado por sac Ver Mensaje
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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-08-2013 a las 00:41:16.
Responder Con Cita