Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   punto de venta dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=39474)

rober_kobe 20-01-2007 23:28:07

punto de venta dbgrid
 
Saludos, tengo un problemita haber si alguien me puede hechar la mano, bueno... estoy desarrollando una aplicacion para un punto de ventas el cual ya casi esta completo, solo por el siguiente detalle:
necesito saber como le puedo hacer para que cuando inserte registros a una tabla, que en el dbgrid no muestre todos los registros anteriores ya almacenados, en cierta forma que siempre esto vacio el dbgrid sumilando que fuese una tabla vacia. tengo un dos edits, un dbgrid y un boton, en los edits se capturan modelo y cantidad del producto; el boton los agrega a la tabla y el debgrid muestra que se esten agregando.

manejo las siguientes tablas: productos, clientes, pedidos

espero y me haya explicado saludos.

AzidRain 21-01-2007 02:11:35

Como no indicas nada (Version de Delphi, que tablas usas, si usas SQL,etc) solo puedo sugerirte:

A tu tabla ponle un filtro que muestre unicamente el ultimo articulo escaneado o capturado. Para esto tendrias que añadir un campo correspondiente en la tabla que va llevando la transacción. Este campo vamos a pensar que se llame "escaneado" y que sea tipo intenger (1 si se acaba de escanear y 0 si no).

Ahora bien:
0.-Abrir la tabla y poner el filtro escaneado=1 como activo (en este momento mostrara vacío)
1.-Capturar un articulo
1a.-Si hay un artículo en la tabla ponerle a ese "escaneado" a 0 para que se "borre" de la grilla y podamos meter el nuevo
2.-Poner su campo "escaneado" a 1
3.- Meterlo a la tabla
4.-Si hay mas articulos regresar al paso 1
5.-Se cierra la transacción?
6.- Si se cierra poner el campo "escaneado" a 0 para reiniciar otra cuenta.
5.-Terminar.

Como la tabla solo muestra los articulos con el campo escaneado=1 y en nuestro código nos aseguramos que solo un artículo satisfaga la condición la grilla siempre nos mostrara solo el último registro escaneado a pesar de que en la tabla SI esten guardados todos los demas.

waly2k1 31-01-2007 18:10:21

Pto de Vta. con DbGrid
 
Mirá, lo mejor que podés hacer es trabajar con una tabla temporal, que a su vez es muy sencillo cambiar el datasource del DbGrid. Salu2 y espero te sirva.


La franja horaria es GMT +2. Ahora son las 21:24:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi