Visual Basic - Realizar cadena para impresión de documento

Life is soft - evento anual de software empresarial
   
Vista:
Imágen de perfil de Rubhenn

Realizar cadena para impresión de documento

Publicado por Rubhenn (16 intervenciones) el 13/10/2015 18:31:09
Que tal, aquí andamos de nuevo con otra duda.

Quiero imprimir en un documento los resultados de una consulta que realizo mediante un Store Procedure. Pero los resultados me los muestra uno en cada renglón, lo que quiero hacer es que me escriba todos o al menos los mas que se puedan en un solo renglón. Ya obtuve el total de caracteres que acepta la página a lo ancho del documento (son 123) entonces por decir así, si llega a 110 caracteres se brinque al siguiente renglón.

Espero haberme explicado. El código que utilizo es el siguiente:

1
2
3
4
5
6
7
8
EjecutarCon "exec spFoliosGuiasCanceladas " & CStr(NmTn(intX%)) & ", '" & sFchCntUno & "', '" & CveScr$ & "'", SqlConnTransp&
 
        Printer.Print Space(5) + "Folios de Guías Canceladas"
        Printer.Print ""
        While Not SqlNextRow(SqlConnTransp&) = NOMOREROWS
            Printer.Print Space(8) + SqlData(SqlConnTransp&, 1)
            intConCan% = intConCan% + 1
        Wend

Estoy utilizando Visual Basic 6.0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rubhenn

Realizar cadena para impresión de documento

Publicado por Rubhenn (16 intervenciones) el 14/10/2015 20:38:56
Después de darle vueltas y más vueltas encontré la solución, la comparto por si alguien más la necesita.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim contline As Integer
        Dim cadena As String
 
       'SP para sacar las guías que se cancelaron en el turno
       QryCrt$ = "exec spFoliosGuiasCanceladas " & CStr(NmTn(intX%)) & ", '" & sFchCntUno & "', '" & CveScr$ & "'"
       SqlResult& = SqlCmd&(SqlConnTransp&, QryCrt$)
       SqlResult& = SqlExec&(SqlConnTransp&)
       SqlResult& = SqlResults&(SqlConnTransp&)
 
       contline = 0
       cadena = ""
       Printer.Font.Bold = True
       Printer.Print Space(5) + "Folios de Guías Canceladas"
       Printer.Font.Bold = False
       Printer.Print ""
       While Not SqlNextRow(SqlConnTransp&) = NOMOREROWS
 
             If contline <= 10 Then
                  cadena = cadena + SqlData(SqlConnTransp&, 1) + "  "
                  contline = contline + 1
             Else
                  Printer.Print cadena
                  cadena = ""
                  contline = 0
             End If
 
             intConCan% = intConCan% + 1
        Wend
 
        Printer.Print Space(5) + cadena

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar