Problemas con un grid en facturación

Don Alonso buenas tardes, mire me encuentro programando un sistema para una ferretería, este sistema debe realizar la venta de mostrador es decir facturación, ya tengo las tablas y el formulario pero no se como limpiar un grid que puse en el formulario de facturación.
Es decir, en un formulario de fecturacion tendo una parte del form en donde tengo controles para seleccionar los datos de los clientes, otros controles para seleccionar el articulo a vender la cantidad y el subtotal de la venta de ese articulo, con un botón lo agrego a un grid para llevar la lista de artículos de la venta en cuestión y esos los almaceno en una tabla temporal.
Con otro botón lo que quiero hacer es que al pulsarlo los artículos de la tabla temporal pasen a la tabla de ventas del día y el grid se limpie para una nueva venta.
Sin embargo cuando lo pulso al borrar los datos de la tabla temporal si se borran del grid pero el grid queda inutilizable ya no me permite agregarle nada.
Código del botn para agregar los artículos al grid
thisform.grid1.AllowAddNew = .T.
thisform.grid1.Enabled = .T.
INSERT INTO temporal (nota, cantidad, articod, artinomb, precio_vta, stotal) ;
VALUES (VAL(thisform.label13.Caption),VAL(thisform.text1.value), VAL(thisform.Label23.Caption),thisform.combo2.value,VAL(thisform.label22.Caption),thisform.text2.value)
thisform.grid1.Refresh
codifgo del boton de facturar
thisform.grid1.RecordSourceType= 1
thisform.grid1.RecordSource = ""
SELECT temporal
zap                                        &&aqui me marca que debo abrir el archivo en mdo exclusivo
RECALL all
APPEND BLANK
thisform.grid1.RecordSourceType= 2
thisform.grid1.RecordSource = "d:\ferreteria\temporal.dbf"
thisform.grid1.AllowAddNew = .t.
thisform.grid1.Enabled = .t.
Ojala me pueda ayudar. Muchas gracias

1 respuesta

Respuesta
1
No puedes utilizar el comando Pack ni mucho menos el comando Zap para eliminar registros en formularios, estos comandos son para mantenimiento de bases de datos, en un cursor o tabla temporal si deseas eliminar registros, utiliza el comando Delete, pero no puedes recuperar los registros con el comando Recall temporal debido que están almacenados únicamente en búfer y no son obtenidos de una tabla física, en lugar de esto debes volver a insertar los registros que tenía la tabla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas