FoxPro/Visual FoxPro - Eliminar registros de una tabla y restar valor a una caja de texto

 
Vista:
sin imagen de perfil

Eliminar registros de una tabla y restar valor a una caja de texto

Publicado por Gregorio (49 intervenciones) el 04/07/2013 23:47:15
Buenas tardes, tengo una tabla libre llamada PRODUCTOS y contiene 3 campos; codigo, producto, y precio. Y tengo una caja de texto (text2) que contiene la suma del precio de todos los productos de dicha tabla.
Pero ahora necesito el codigo para eliminar registros de esa tabla, que se eliminen segun el codigo escrito en una caja de texto (text1) y que al eliminarse un registro, se le reste el valor del precio del producto eliminado a la caja de texto (text2), la cual contiene la suma del precio de los productos.
Por si no se entendio, aqui dejare la imagen de lo que necesito:
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Eliminar registros de una tabla y restar valor a una caja de texto

Publicado por Fidel (558 intervenciones) el 05/07/2013 02:30:32
En realidad no sé cuál es la pregunta.
1) para borrar un registro:
* Normalmente configuramos el sistema al inicio con SET DELETED ON

select tabla_libre && sin indice por Código
* LostFocus de Text1
IF !EMPTY(THIS.VALUE)
locate for codigo==alltrim(This.value)
if found()
nMess=Messagebox("Quiere borrar este registro?",4,"Borrando")
if nMess=6
delete
Thisform.grid1.refresh
sum all precio to thisform.text2.value
go top
endif
else
Messagebox("El Código no existe")
endif
ENDIF

Si utilizas un indice por el campo Código,
En el Valid del text1 puedes determinar si existe el código
*.TExt1.Valid
if !empty(this.value)
if !indexseek(this.value,.f.,"Tabla_Libre","Indicod")
Messagebox("El código no existe")
This.value="" && (o cero)
return 0
endif
endif
* TEXT1.LOSTFOCS
IF !EMPTY(THIS.VALUE)
INDEXSEEK(THIS.VALUE,.T.,"Tabla_Libre","Indicod")
nMess=Messagebox("Quiere borrar este registro?",4,"Borrando")
if nMess=6
delete
Thisform.grid1.refresh
sum all precio to thisform.text2.value
go top
endif
endif

2) Lo que me resulta raro es que sumes los precios. Normalmente, tenemos precio, cantidad e importe, donde el importe resulta de multiplicar el precio por la cantidad y sumamos los importes.
Entendiendo que Precio, es el valor por unidad al que se ofrece (o vende) un producto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ever
Val: 20
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Eliminar registros de una tabla y restar valor a una caja de texto

Publicado por Ever (24 intervenciones) el 08/07/2013 18:02:06
select productos
pon este codigo en el refrsh de tu grilla.
Calculate sum(productos.precio) to tucampotexto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar