oh.mely
12-06-2018, 00:53:12
Buenas tardes, no sé si alguien pueda ayudarme, estoy usando Delphi 7 y tengo una tabla temporal en un ClientDataSet en donde almaceno datos de productos y los muestro en un ListView, no tengo problemas con insertarlos, mi problema es que no encuentro la manera de edita un registro en específico, lo trato de hacer pero se modifica siempre el primer registro.
En mi form cuando quiero agregar un producto a la venta primero lo busco en el ListView, si no lo encuentra lo agrega como uno nuevo y si sí lo encuentra quiero que modifique la cantidad.
procedure TFr_Venta.addToTableTemporal();
var
aux: Boolean;
i: Integer;
begin
//Primero usca si ya ha sido registrado el producto
aux:= False;
for i:=0 to ReporteVenta.Items.Count -1 do
begin
if producto = ReporteVenta.Items[i].Caption then
begin
T_vta.Edit;
//AQUÍ QUIERO EDITAR EL REGISTRO DE ACUERDO AL CODIGO DE BARRAS DE MI PRODUCTO
//T_vta.Fields[2].Value:= 10; //Esto lo hice como prueba y siempre lo actualiza en el primer registro
aux:= True;
end;
end;
//Si no encuentra el producto en el listView agrega uno nuevo
if not aux then
begin
T_vta.Insert;
T_vta.Fields[0].Value:= producto;
T_vta.Fields[1].Value:= precioVta;
T_vta.Fields[2].Value:= cantidad;
T_vta.Fields[3].Value:= importe;
T_vta.Fields[4].Value:= descuento;
T_vta.Fields[5].Value:= total;
T_vta.Fields[6].Value:= PrecioBruto;
T_vta.Fields[7].Value:= nomProd;
T_vta.Post;
end;
end;
Gracias.
En mi form cuando quiero agregar un producto a la venta primero lo busco en el ListView, si no lo encuentra lo agrega como uno nuevo y si sí lo encuentra quiero que modifique la cantidad.
procedure TFr_Venta.addToTableTemporal();
var
aux: Boolean;
i: Integer;
begin
//Primero usca si ya ha sido registrado el producto
aux:= False;
for i:=0 to ReporteVenta.Items.Count -1 do
begin
if producto = ReporteVenta.Items[i].Caption then
begin
T_vta.Edit;
//AQUÍ QUIERO EDITAR EL REGISTRO DE ACUERDO AL CODIGO DE BARRAS DE MI PRODUCTO
//T_vta.Fields[2].Value:= 10; //Esto lo hice como prueba y siempre lo actualiza en el primer registro
aux:= True;
end;
end;
//Si no encuentra el producto en el listView agrega uno nuevo
if not aux then
begin
T_vta.Insert;
T_vta.Fields[0].Value:= producto;
T_vta.Fields[1].Value:= precioVta;
T_vta.Fields[2].Value:= cantidad;
T_vta.Fields[3].Value:= importe;
T_vta.Fields[4].Value:= descuento;
T_vta.Fields[5].Value:= total;
T_vta.Fields[6].Value:= PrecioBruto;
T_vta.Fields[7].Value:= nomProd;
T_vta.Post;
end;
end;
Gracias.