Guardar en una base de datos información desde un grid

Hola, espero poder darme a entender. Quisiera saber si es posible vaciar información de manera manual en un grid y de éste guardarla en una tabla. Lo que pretendo hacer es un sistema de facturación, y la única manera que se me ocurre es con un grid, ya que el número de artículos a facturar varía. Si existe alguna manera me gustaría saber cual es, los grid siempre los he ocupado para realizar consultas que vienen de una(s) tabla(s) pero nunca para guardar información en las mismas. Espero me haya explicado con claridad y me puedas ayudar con mi problema. De antemano mil gracias.
Atte. Kala Renteria

1 respuesta

Respuesta
1
Espero haberte entendido.
El tema es que todo Grid funciona siempre con información contenida en una tabla o cursor que pueden ser generados de diferentes maneras: consultas sql, tablas, alias, etc.
O sea, un Grid siempre va a tener vinculado una tabla o cursor. Dicho de otra forma, un Grid es un "visor" de los datos de una tabla o cursor. Si alguna vez usaste el comando BROWSE con todas (o muchas de) sus características, te vas a dar cuenta que un Grid es una cosa muy similar.
En resumen, cuando quieras guardar información de un Grid en una tabla, no tenés más que trabajar desde la tabla o cursor donde están los datos que ves en el Grid. Podrías, por ejemplo, hacer un INSERT INTO en la tabla destino con los datos de cada registro de la tabla o cursor del Grid. Hay muchas alternativas.
Si no entendí mal, lo que vos hacés es agregar en un Grid los artículos o ítems que vas a facturar y posteriormente, al cerrar o confirmar ese comprobante, guardar los ítems en otra tabla de ítems vendidos históricos o algo similar. Si es así, la explicación que te puse antes sirve perfectamente.
Decime si estoy en el camino correcto o entendí cualquier cosa !
Espero te sirva. Cualquier cosa volveme a preguntar.
Si, efectivamente lo que quierop es guardar la información de un grid en una tabla, pero al parecer según tu respuesta, un grid sólo sirve para consultar información, no escribir en él y es lo que yo quería hacer, introducir datos manualmente en cada celda del grid para posteriormente guardarla en una tabla. Creo que no se puede, ¿verdad?. ¿Qué otro método podría usar para generar un ambiente para facturar entonces?. Gracias.
Claro, no se puede insertar datos directamente al grid. Lo que tenés que hacer es insertar los datos en una tabla o cursor vinculada al grid.
Podes hacer lo siguiente (te doy un ejemplo):
1. Create un cursor manualmente
CREATE CURSOR nombrecursor (id N(10), codigo N(10), cantidad N(12,2), precio N(12,2))
2. Vinculá tu Grid a ese cursor:
ThisForm.grid.RecordSource = "nombrecursor"
3. Y agregá los ítems a facturar directamente al cursor.
INSERT INTO nombrecursor (codigo, cantidad, precio) VALUES (10, 2.00, 15.40)
ThisForm. Grid. Refresh
4. Cuando quieras guardar eso en tu tabla, podes hacer un SCAN... ENDSCAN
SCAN
      INSERT INTO tutabla (comprobante, codigo, cantidad, precio) VALUES ("FACTURA 1", nombrecursor.codigo, nombrecursor.cantidad, nombrecursor.precio)
ENDSCAN
Esa sería más o menos la lógica. Espero te ayude. Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas