Imprimir Registros de un MSFlexGrid

Me dirijo nuevamente ante Uds. Con el fin de aclarar otra duda que es la Sig:
Necesito imprimir un msflexhGrid que tengo en la pantalla, estoy utilizando el método PrintForm pero me imprime unicamente los registros que se ven en pantalla quedando un cierto numero de registros sin imprimir. Aparentemente el método PrintForm imprime unicamente lo que se ve actualmente en pantalla lo cual no se ajusta a mis necesidades pues resulta que mi msflexhGrid contiene más de 100 registros y la hoja que sale impresa queda vacía a paritr de la mitad.
¿Cómo hacer para que mediante este método o algún otro se impriman todos los registros?
PD: No he utilizado el DATAREPORT ni el CRYSTAL ya que el msflexhGrid que utilizó maneja dos tablas que muestran la información de la siguiente manera:
Tabla1 tabla2
Registro1 Campo(Registro1)
Registro2 Campo2(Registro2)
Registro3 Campo3(Registro3)
RegistroN CampoN(RegistroN)
Es decir en una columna (Tabla1)muestro el nombre de un registro obtenido a través de una consulta
Y en la segunda columna (Tabla2) muestro la consulta de un campo que esta en otra tabla y que lleva por nombre la descripción del Registro de la primera Tabla (Tabla1) y esto no lo he logrado hacer a través de un diseñador de informe.

2 respuestas

Respuesta
1
Creo que la única forma que existe para que solventes este problema es que programes la impresión a mano, es decir, con puro código en el botón en donde le indicas que se impriman los datos de la pantalla tendrías que colocar la llamada a la rutina que te permita imprimir los datos que tengas en el control MSFlexgrid. Ahora, checa en la página www.lawebdelprogramador.com y www.vbaccelerator.com ahí existen algunos códigos fuente de impresión de controles de este tipo.
Espero que te ayude.
Desarrollos mediante teletrabajo.
e-mail: [email protected]
Respuesta
1
No hay más que hacerlo con los dos que ya mencionaste (DataReport o Crystal Reports) o imprimiendo directamente en la impresora.
Pero esto es hacerlo casi como se hacía antes, todo es libre, sin nada de ayuda.
Tienes que recorrer todo el contenido de tu MsFlexGrid y lo tienes que ir mandando a imprimir a la impresora predeterminada y controlar la posición en que se imprime, el salto de página, etc.
El método es sobre el objeto Printer.
Por ejemplo
Printer.ScaleMode = VbMillimeters
Printer.CurrentX = 20 '2 cms. a la derecha del borde izquierdo de la hoja.
Printer.CurrentY = 17 '1.7 cms. abajo del borde superior de la hoja.
Printer. Print "Renglón 1"
Printer. EndDoc 'Envía el contenido del Buffer a la impresora.
Si tienes otra duda dímelo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas