Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con programa de ventas VB6

nediker

Bovino maduro
Desde
10 Nov 2009
Mensajes
365
Hola amigos buen dia y de antemano muchas gracias por la ayuda que me puedan dar...

Mi problema es el siguiente, soy nuevo en esto de la programacion y estoy haciendo un programa para ejemplificar como seria la venta de productos, hago la busqueda de los productos en la bd el problema viene a la hora de que en una venta la cual requiera de varios productos estos se muestren en la pantalla...

la idea que tuve fue la de almacenar la clave de los productos en cajas de texto, por el momento tengo 10 y dependiendo la cantidad de productos sera la consulta que haga, pero no me imagino como seria para una tienda grande la cual pueda llegar a vender 100 productos en una sola venta, espero haberme explicado bien...

saludos
 
Enserio no entendi, tienes un problema, ok ahi entiendo, en que quieres que te ayudemos?, una idea de como hacerlo, o un ejemplo de código, además todo depende como tengas tu programa estructurado amigo, y cual es la manera en que simulas la compra.
 
1.- Ve a un oxxo, soriana o tienda de conveniencia y mira el programa que utilizan para punto de venta, ¿Observas algunas cajas de texto donde almacenan los codigos? No verdad...

Utilizan solo una caja de texto cuando mucho, donde ingresan el codigo y la cantidad, ¿verdad?

Entonces analiza, si no utilizan cajas de texto ¿Como le hacen?

Muy facil, despues de capturar el codigo en la caja de texto, lo almacenan en un "grid" que son en realidad renglones, donde se almacenan en columnas el codigo, cantidad, nombre de articulo, precio y Total. Despues se sumariza el "grid" y da un total de articulos y suma de precios.

La mayoria de los sistemas ya no utilizan cajas de texto, se utiliza codigos de barras, cada que pasas un codigo por el lector, se agrega a la "grid".

No trates de reinventar la rueda, analiza como estan hechos otros programas y adapta.

Salu2
 
ok entiendo lo de la caja de texto para leer el codigo de barras, lo que yo no entiendo es como despues de hacer la consulta del primer producto, hago para que se quede guardada esa primera consulta en el grid, y hacer la consulta del nuevo producto... No estoy tratando de inventar una nueva forma de hacerlo, solo no se como hacer ese procedimiento, y la unica manera que se me ocurrio de solucionarla fue almacenando variables en cuadros para realizar las siguientes consultas... Muchas gracias!!

Me serviria una explicacion sobre como lo hacen las tiendas de conveniencia, por que de esta forma es que me gustaria hacer mi programa...
 
Utiliza Grids camarada en ves de usar cuadros de texto, y el grid tambien te permite capturar directamente sobre el sin utilizar cuadros de texto, hasta puedes manejar un scarner de codigos de barras y mas facil.
 
Utiliza Grids camarada en ves de usar cuadros de texto, y el grid tambien te permite capturar directamente sobre el sin utilizar cuadros de texto, hasta puedes manejar un scarner de codigos de barras y mas facil.



Entiendo que debo mostrar los datos en un grid... la estructura de mi programa es asi, ingreso el codigo del articulo en un cuadro de texto... hago la consulta deacuerdo a ese codigo para que me traiga los datos, y los muestro en un grid... hasta ahi no tengo problemas, el problema surge cuando es mas de un articulo, como hacer la segunda consulta sin que los datos que estan en el grid, con la primera consulta no desaparezcan...

muchas gracias por su ayuda amigos

saludos!!
 
Ok ya entendi tu problema, mira una de las ventajas del grid e de que se manejan renglones para manupular la informacion, tu problema es que no quieres que se te borre el primer renglon despues de haber capturado un registro, verdad?, bueno mira, el grid tiene una propiedad row o rows, no se cual grid utilizas, yo utilizo el FlexGrid, ese grid tiene una propiedad que se llama MaxRows. esa propiedad me sirve para agregar renglones , por ejemplo si yo digo, Grid.MaxRows=Grid.MaxRows + 1, estoy diciendo que me agreque un renglon mas hacia abajo sin borrarme lo que ya tenga capturado 1 ,2 o 100 regsitros, cada que yo ejecute esa instruccion me va a crear un renglon en blanco hacia abajo. Hay otros grids que manejan la propiedad rows, y el funcionamiento seria el mismo, Grid.Rows= Grid.Rows + 1 para crear un renglon en blanco hacia abajo. Y para manejarte dentro del grid tu tienes que posisionarte siempre en un renglon y una columna, esto lo haces con las propiedades de Col y Row, si Row es igual 1 y Col es igual a 1, te estarias posicionando en el primer cuadro del grid. Espero que te haya servido esta informacion, sino para ver como le podemos hacer... Saludos camarada..
 
hola amigo cristoroset muchas gracias por la ayuda que me estas dando, e estado usando la opcion que me diste, pero sigo con el mismo problema, te voy a mostrar como tengo el codigo para que me digas que es lo que estoy haciendo mal, estoy utilizando un control mshflexgrid

estoy utilizando una variable que llamo contador para saber si ya e ingresado un producto, y en el evento change del textbox lo acumulo

entonces para llenar el grid mi codigo seria este

if contador = 0 then
sql = "select * from productos where cod_barras = txtbarras.text"
recordset.open sql, conexion
else
grid.rows = grid.rows + 1
sql = "select * from productos where cod_barras = txtbarras.text"
recordset.open sql, conexion
end if

hasta aqui todo va bien el problema viene cuando asigno el recordset al grid y es ahi donde me borra tod y solo aparece una fila nuevamente

grid. datasource = recordset

me gustaria saber en donde debo asignar el valor del recordset al grid para que no se me borre lo que tenga anteriormente... de nuevo muchisimas gracias por la ayuda
 
Ahora el problema que tienes es que no estas guardando los datos en una base de datos.

Tienes que crear un tabla, donde se guarden los registros de las ventas (IDTicket, IDNumRenglon,CodigoProducto,Cantidad, PrecioVenta).

Despues al desplegar nuevamente el grid, haces un select por el ID del Ticket de venta.
Ejemplo:
SELECT IDNumRenglon, CodigoProducto, NombreProducto, Cantidad, PrecioVenta, Cantidad*PrecioVenta AS TotalRenglon
WHERE IDTicket = 1

Asi llenas el grid y no te falta nada.
 
Volver
Arriba