Autor Tema: MsFlexGrid  (Leído 2910 veces)

0 Usuarios y 1 Visitante están viendo este tema.

cateesn

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
MsFlexGrid
« en: Junio 15, 2016, 02:22:51 pm »
Buen día!
Estoy en aprietos con un programita de emisión de boletos, en un flexgrid deben mostrarse las cantidades de boletos adquiridos (como si fuese un carrito de compras), al enviar a imprimir deben imprimirse tantos boletos como se muestren en las lineas del grid, ejemplo:

  Tipo         Evento       Valor
General  Fiesta Retro   1500
   VIP       Sinfonica     2500

Al enviar a la impresora deberían de imprimirse 2 boletos, cada uno como en el ejemplo anterior.
De antemano agradezco la ayuda que puedan brindarme!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:MsFlexGrid
« Respuesta #1 en: Junio 15, 2016, 11:58:44 pm »
Si estas usando el objeto Printer harías algo como:

Código: (VB) [Seleccionar]
For i = 1 to Grid1.Rows  'Cantidad de filas de tu Grid, quiza debas agregar -1 al final
   Printer.EndDoc
Next i

Si estas usando datareport:
Código: (VB) [Seleccionar]
For i = 1 to Grid1.Rows  'Cantidad de filas de tu Grid, quiza debas agregar -1 al final
   MiReporte.PrintReport
Next i

NOTA: Esto esta sugerido de memoria y quizá alguna cosilla se me pase, tómalo como sugerencia y corrige algo que se me pueda escapar. Saludos

Me encuentras en YAcosta.com

cateesn

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Re:MsFlexGrid
« Respuesta #2 en: Junio 16, 2016, 12:31:31 am »
Oye YAcosta, estoy inmensamente agradecido! apenas llegue a casa lo agrego al proyecto y lo ejecuto, te cuento como me fue luego...
Se me paso acotar que el numero de filas es desconocido, ya que el cliente virtual (porque es un trabajo de la universidad) puede comprar x cantidad de boletos, como explique en el ejemplo anterior, al aceptar la compra deben de imprimirse 2 boletos... con las siguientes descripciones:
1- General  Fiesta Retro   1500
2- VIP       Sinfonica     2500

Igual YAcosta, apenas llegue lo reviso, te repito que estoy agradecido!

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:MsFlexGrid
« Respuesta #3 en: Junio 16, 2016, 12:40:41 pm »
Tu dijiste:
"...deben imprimirse tantos boletos como se muestren en las lineas del grid"

y en tu ejemplo hay dos lineas y por tanto se imprimirán dos lineas ya que eso fue lo que pediste, si tu grid tiene 10 lineas se imprimirán 10 veces. Debo acotar también que me pareció rara la solicitud ademas de que en lo personal considero UN ERROR imprimir desde un grid la informacion que tu indicas, esta debería imprimirse desde un recordset, pero igual la respondí.

Si lo que quieres es imprimir dos veces el boleto cada uno con todas las lineas del grid sin importar cuantas hallan entonces es mas sencillo, sin embargo debes aclarar mejor tu inquietud y que método de impresión vas a usar.

Saludos
Me encuentras en YAcosta.com

cateesn

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Re:MsFlexGrid
« Respuesta #4 en: Junio 16, 2016, 05:32:33 pm »
Amigo YAcosta agradezco tus consejos y opiniones, a continuación explico detalladamente ...
El profesor nos dio a cada uno de los estudiantes un trabajo, el mio es... Presentar el proyecto y su respectivo ejecutable, totalmente funcional con las siguientes características: venta, historial de ventas, impresión de boletos, Base de datos access,  basado en una taquilla de una sala de conciertos con capacidad para 2500 personas (venta de boletos), debemos entregarle dicho proyecto para el 20 de julio.

Ya tengo casi todo el proyecto listo! hasta busque una impresora de boletos, la verdad es que escogí el grid porque fue el primer control que se me ocurrió por parcerce mas a un carrito de compras donde voy añadiendo tantos boletos como el cliente los pida.
Si un mismo cliente pide 3 boletos para diferentes áreas (1 para el área VIP, 1 para el área General y 1 para el área Palco), esos 3 boletos ya estando visualizados en el grid debo aceptar la compra con un button, le coloque un MsgBox "Confirma la compra", vbQuestion, "Administrador", si acepta debería de imprimir 3 boletos, cada uno con las características que el cliente solicitó y que ya estaban en el grid.
A manera de agradecimiento por la ayuda que me estas prestando... te prometo que tu nombre lo daré a conocer entre mis compañeros y profesores, sin importar el que estés en otro país.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:MsFlexGrid
« Respuesta #5 en: Junio 16, 2016, 11:46:41 pm »
De nada doc.

No me queda claro si te quedo claro lo que te comenté  :-)

En todo caso con tu ultima explicación me parece entender que quieres hacer impresiones individuales, o sea, una por item ¿es así?

Si es así igual tienes que iterar por las filas del grid (mejor del recordset) e ir imprimiendo, o puedes llenar un tabla intermedia para soltar todas las impresiones de un tiron...

Entiendo que lo que quieres finalmente es esto (tipo UML):
1.- Cliente solicita la venta de N boletos.
2.- El cajero va acumulando los pedidos y estos se pintan en un grid.
3.- El cajero indica el monto total de venta
4.- El cliente paga.
5.- El cajero presiona Grabar, sale el mensaje de confirmación y el cajero Acepta.
   5.1.- El botón grabar mete los datos del grid y datos cabecera (fecha, cliente, cajero, etc) en la BD.
   5.2.- En el mismo proceso se lee los datos recién ingresados a la BD para realizar la impresión.
6.- Se imprime un boleto por cada item vendido.
7.- Se entrega al cliente
Fin

El proceso 5 debe hacerse en una sola transacción sobre todo si se trata de un entorno red.
El proceso 5.2 se da porque imprimir desde el grid no me da la seguridad de que la transacción se efectuó, por eso se lee de la BD los datos acabados de ingresar lo cual sirve como confirmación plena de la transacción.

¿Estamos sintonizados que los pasos que estas queriendo realizar son los mismo del punto 1 al punto 7? Si no fuera así indica que paso estas omitiendo o que otro paso esta faltando. Con eso podemos quedar mas claros de que va tu tema.

Saludos

P.D: No hay problema que referencies mi nombre a tus compañeros o profesores.
Me encuentras en YAcosta.com

cateesn

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Re:MsFlexGrid
« Respuesta #6 en: Junio 17, 2016, 12:03:25 am »
Ante todo dejame felicitarte porque tienes las características de un excelente educador, lo que describes es exactamente lo que necesito, es por esos 7 puntos que estoy atorado y no he podido avanzar.