Manejo de grids

Hola a todos los expertos, mi nombre es alejandro y quisiera saber más acerca de los grids, estoy haciendo un programa de ventas estilo carrito donde voy agregando el producto a la cuadricula y debo de guardarlos a la tabla, si agrego 4 artículos agregarlos todos a la tabla me podrán ayudar con esto de antemano muchas gracias

1 respuesta

Respuesta
1
Ok, vamos a trabajar la factura no vamos a usar tus propios datos pero se que lo entenderás fácilmente,
En el formulario vas a tener dos partes Encabezado (todos los campos de identificación) y Detalle (el cuerpo de la factura),
una vez entres al formulario creas una tabla para la información del detalle
create table detalle (cod N(10), des N(19), can N(83) etc...), en el formulario el detalle se maneja con grid donde poces recordsourcetype = 0 y recordsource=detalle (la tabla que creamos) cuando hayas leído el encabezado ya sabes que vas a crear una nueva factura das un append blank a la tabla detalle, esto produce un efecto de un nuevo registro en el grid, pues están relacionadaos estos dos elementos, pasas a leer los datos del detalle, cantidad, producto, etc dentro del grid, cuando termines de leer el registro das otro append blank automáticamente, lo que permite seguir leyendo registros, al final quedará un registro en blanco al pasarlo a la tabla definitiva de los detalles de factura pues detalle.dbf es una tabla temporal, grabas todo menos el último registro o mejor dicho el que este en blanco del ultimo append blank.
Ahora bien, si la factura ya existe cargas la información del encabezado del archivo de cabezas de factura y en detalle cargas la información del archivo de detalles de factura y das un append blank por si van a crear nuevos items.
Pruebalo y exitos.
Hola, comprendo lo que me dices,
1 El grid en la propiedad recordsourcetype ponla en 4, es decir, instrucción sql
2 Introduce el check control en el grid
3 En la columna donde pongas los check, en la propiedad Current Control seleccionar el Check y poner en false la propiedad sparce
4 En cada control que muestre información dentro del grid, buscar el control source y escribir el nombre del campo que va a ser mostrado.
5. Para hacer cálculos te recomiendo que de una vez desde el SQL los hagas
este es un ejemplo de una selección asignada a un grid
thisform. Grd.RecordSource="SELECT usuario, tipousuario-1 as tipo, tipousuario*34 as total FROM datos!usuarios order by tipo INTO CURSOR rta"
Éxitos

Añade tu respuesta

Haz clic para o