FoxPro/Visual FoxPro - ALMACENAR EN 2 TABLAS DISTINTOS

 
Vista:

ALMACENAR EN 2 TABLAS DISTINTOS

Publicado por cesar (13 intervenciones) el 03/12/2009 00:39:41
ESTOY TRABAJANDO CON vfp 6.0

buenas q tal un saludo desde Guatemala
mi duda es la siguiente.
estoy trabajando con un programa de facturacion:
tengo 3 tablas
1.mercaderia(mis productos)
2.temventa( esta tabla la utilizo solo temporalmente)
3.venta
un formulario donde realizo las ventas en el tengo 2 grids o cuadriculas en el primer "grid"
estan contenidos los datos de la mercaderia y en el segundo "grid" es donde agrego lo q voy a vender
el cual lo agrego con un command y aparte de los 2 grid tengo varias cajas de texto donde ingreso los datos del cliente lo que tengo duda es : lo datos del cliente(estos datos estan en "textbox" y los productos q se venderan(estan agregados al grid2 ESTOS DATOS SE ALMACENAN EN LA TABLA TEMVENTA),ahora la cuestion es SI SE PUEDE GUARDAR en una sola tabla que seria en la tabla "VENTAS" los datos contenidos en los text y los datos de la tabla TEMPVENTA en la tabla VENTA.. y como podria hacerlo
--otra duda

***-----**
al momento de imprimir los datos:
los datos que contienen los text si los imprime en mi codigo los tengo asi:
BOTON IMPRIMIR
DATOS DEL CLIENTE
nofac=thisform.text1.value
niclie=thisform.text2.value
nomclie=thisform.text3.value
dirclie=thisform.text4.value
report form "C:\prueba\inform\facfinal.frx" noconsole to printer prompt

AHORA lo que quiero imprimir tambien los datos del grid2 o sea datos de la tabla TEMVENTA
como lo podria hacer y que agregarle a mi codigo
a y como eliminar los datos de la tabla TEMPVENTA para el nuevo ingreso de mas productos

gracias por toda ayuda....
BUENO ESPERO HABERME EXPLICADO...
GOD BLESS YOU!!
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

RE:ALMACENAR EN 2 TABLAS DISTINTOS

Publicado por Chucho (66 intervenciones) el 03/12/2009 13:42:10
Hola, para lo primero entiendo que la tabla VENTAS debería tener la misma estructura que TEMPVENTA , más los campos necesarios para almacenar los datos de los textboxs que mencionas.
En definitiva la estructura de TEMPVENTA debería ser igual a la de VENTAS.
Al momento de agregar registros en TEMPVENTA los campos en los que guardarías los datos de los texts. permanecerían vacíos hasta pasarlos a VENTAS

Partiendo de esto, para generar los registros en VENTAS tendrías que hacer así.

SELECT TEMPVENTA

REPLACE ALL nofac WITH thisform.text1.value
REPLACE ALL niclie WITH thisform.text2.value
REPLACE ALL nomclie WITH thisform.text3.value
REPLACE ALL dirclie WITH thisform.text4.value

* Lo de arriba suponiendo que esos son los datos de los texts.

SELECT VENTAS
APPEND FROM TEMPVENTA

SELECT TMPVENTA
SET DELETE ON && <---esto iría por ejemplo en el LOAD del formulario.
DELETE ALL && para borrar todos los registros de TMPVENTA
ThisForm.Refresh

De esta manera fijate que en VENTAS te van a quedar datos redudantes porque por cada producto facturado se repiten los datos de los texts.( se dice en este caso que la tabla no está normalizada). Lo común , en este caso, es trabajar con 2 tablas. Una para los datos generales de la facturas y otra para los productos facturados, el unico campo en comun sería el nofac (nro de factura?) para que se puedan relacionar.

*-----------------------------------------------------------------------------------------
Para lo segundo solo tendrías que incluir como campo (boton [ab] del diseñador de reportes) un control para campo de esa tabla TMPVENTA en la banda detalle del reporte.

Saludos
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