Pasar datos de un grid con un cursor temp a una tabla

Hola, soy cristian. Tengo una duda con respecto a visual foxpro, estoy haciendo un sistema de facturación y stock, me quede plantado en el formulario de ventas, les comento que he creado un cursor temporal para el detalle de factura, por la misma razón de que al poner directamente la tabla detalles se llenara de basura y ocupara mucho espacio al vicio, en cambio utilizando un cursor temporal modifico las veces que quiera y cuando esté todo ok, me guarde los datos confirmados en la tabla detalles y me borre los datos ingresados en el cursor. Ahora bien, quiero pasar los datos del cursor temporal a la tabla detalle_fact pero no se como hacerlo. Con otros campos utilizo la función replace para guardar otros datos en otras tablas, pero al tener los detalles de los artículos vendidos en un grid, no tengo la más minimoa idea como pasar esa información a una tabla especifica.. Agradecería muchísimo su ayuda. Saludos

2 Respuestas

Respuesta
1
bueno básicamente si tu tienes un cursor con los campos por ejemplo código, descripción, cantidad, precio y tu tabla detalle tiene los campos codigoproducto, cantidad, precio y quieres pasar directamente podrías hacerlo con el insert así más o menos
insert into detalle(codigoproducto,cantidad,precio) select codigo,cantidad,precio from temporal
Y listo con eso estas haciendo un insert en detalle con todos los registros del cursor temporal en este caso, lo que hay que tener en cuenta es el orden de los campos y que sean del mismo tipo y no necesariamente tener el mismo nombre del campo en ambas tablas, bueno espero te haya sido de ayuda, suerte
Muchísimas gracias! Me sirvió tu ayuda.. Ahora bien, me conviene crear una tabla llamada TEMPORAL, y ahí guardar TODOS los datos de la facturación(id factura, cliente, vendedor, detalle de la centa, importe, ¿iva) para luego poder hacer un reporte y llamar a los campos de ésta tabla e imprimir una factura con los datos guardados? ¿Y al finalizar de imprimir que estos campos se borren de la tabla utilizando ZAP?
Si es una buena opción así trabajarías con los datos de la tabla temporal aunque para la impresión de la factura y asegurarte que están bien grabados los datos podrías hacer un select y crear un cursor para en base a ese cursor imprimir los datos de la factura, es solo una sugerencia pero tu idea es totalmente valida, suerte
Respuesta
1
Como vamos...
Básicamente deberías poner en uso el cursor que tienen los datos digitados... y luego con un scan ir cargando en variables los datos para luego remplazar en la tabla...
Select "cursor"
Go top
Scan
id_item = "cursor.id"
cantidad = "cursor.cantidad"
Replace "campo1", "campo2" with &id_item,&cantidad
Endscan
Muchas gracias, ya solucione ese problema. Ahora si no te molesta, me gustaría saber como sumar los datos de un grid y que me muestre el resultado en un textbox. Por ejemplo lo que hice fue esto:
Se le temp
SUM IMPORTE TO THISFORM.TEXT12.VALUE
Me funciona de maravillas, pero al darme el valor en el text también me muestra el mismo valor en c cualquier parte del formulario y eso es lo que no quiero. Solo quiero que se almacene en el text, sin que me muestre nada en el formulario. Gracias
SET DELETED ON / OFF
SET TALK ON / OFF
SET SAFETY ON / OFF
SET CONSOLE ON / OFF (esta es la de la pantalla activa)
Deberías usar estos comandos o al inicio del proyecto o en el load de cada formulario .. según como lo requieras

Añade tu respuesta

Haz clic para o