Ayuda con la actualizacion y con Printer

15/07/2005 - 14:56 por Imprimir Problemas con propiedades | Informe spam
No puedo mas, el codigo que actualizo no es mio, ha pasado por 100 manos y
ando perdido es el siguiente y necesito poder hacerlo de alguna otra manera.
Alguien me ayuda? Problemas con currentX currentY newpage() enddoc() etc...

Private Sub cmdAceptar_Click(ByVal eventSender As System.Object, ByVal
eventArgs As System.EventArgs) Handles cmdAceptar.Click
Dim i As Short
Dim j As Short
Dim k As Short
Dim x As System.Drawing.Printing.PrintDocument '15/07/2005
On Error GoTo manejadorerror


cnData = New ADODB.Connection

rsData2 = New ADODB.Recordset

cnData.ConnectionString = cadenaConexionData
cnData.CommandTimeout = 60 ' x pp


'Printer.CurrentX = 0
'Printer.CurrentY = 200

'''UPGRADE_ISSUE: Printer propiedad Printer.FontName no se
actualizó. Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
'Printer.FontName = "arial"
'No hay correspondencia ni con fontname ni con fontsize 15/07/2005


'''UPGRADE_ISSUE: Printer propiedad Printer.FontSize no se
actualizó. Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
'Printer.FontSize = 8


'comienzoY = InputBox("Nº fila de comienzo")
'comienzoX = InputBox("Nº columna de comienzo")


Call preparaComienzo()

comX = comienzoX
comY = comienzoY
posY = 800

cnData.Open()
intentos = 0

i = 1
k = 1
While (k <= frmEventosPendientes.DefInstance.fgrResultado.Rows - 1)

If i >= comY Then
If i = (comY + 1) Then
comX = 1
End If

j = comX

While (j <= 3) And (k <=
frmEventosPendientes.DefInstance.fgrResultado.Rows - 1)
Select Case j
Case 1
posX = 200 '0
Case 2
posX = 4054.8 '3854.8
Case 3
posX = 7911.2 '7711.2
End Select

'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'

Printer.CurrentX = posX

'UPGRADE_ISSUE: Printer propiedad Printer.CurrentY no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.CurrentY = posY

If frmEventosPendientes.DefInstance.fgrResultado.get_TextMatrix(k, 3) =
"*" Then
IdEmp =
CInt(frmEventosPendientes.DefInstance.fgrResultado.get_TextMatrix(k, 2))
If rsData2.State = ADODB.ObjectStateEnum.adStateOpen Then
rsData2.Close()
End If

rsData2.Open("Select Empresa, Contacto, ApContacto, Direccion, CP,
Localidad, Provincia from Contactos where Id=" & IdEmp, cnData)

'UPGRADE_ISSUE: Printer propiedad Printer.FontBold no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.FontBold = True

'UPGRADE_WARNING: Se detectó el uso de Null o IsNull(). Haga clic aquí
para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...1049"'
If Not (IsDbNull(rsData2.Fields(0).Value)) Then
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Call Imprimir((rsData2.Fields(0).Value), Printer.CurrentX)
'Printer.Print Text1.Text;
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.CurrentX = posX
End If


'UPGRADE_WARNING: Se detectó el uso de Null o IsNull(). Haga clic aquí
para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...1049"'
If Not (IsDbNull(rsData2.Fields(1).Value)) Then
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Call Imprimir("Att: " & rsData2.Fields(1).Value & " " &
rsData2.Fields(2).Value, Printer.CurrentX)
'Printer.Print Text3.Text
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.CurrentX = posX
End If


'UPGRADE_WARNING: Se detectó el uso de Null o IsNull(). Haga clic aquí
para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...1049"'
If Not (IsDbNull(rsData2.Fields(3).Value)) Then
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Call Imprimir((rsData2.Fields(3).Value), Printer.CurrentX)
'Printer.Print Text4.Text
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.CurrentX = posX
End If

'UPGRADE_WARNING: Se detectó el uso de Null o IsNull(). Haga clic aquí
para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...1049"'
If Not (IsDbNull(rsData2.Fields(4).Value)) Then
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Call Imprimir(rsData2.Fields(4).Value & " " &
rsData2.Fields(5).Value, Printer.CurrentX)
'Printer.Print Text5.Text
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.CurrentX = posX
End If

'UPGRADE_WARNING: Se detectó el uso de Null o IsNull(). Haga clic aquí
para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...1049"'
If Not (IsDbNull(rsData2.Fields(6).Value)) Then
'UPGRADE_ISSUE: Printer propiedad Printer.CurrentX no se actualizó.
Haga clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Call Imprimir((rsData2.Fields(6).Value), Printer.CurrentX)
'Printer.Print Text6.Text
End If
j = j + 1
End If
k = k + 1
End While

End If

posY = posY + 1701
i = i + 1
If i > 9 Then
i = 1
comX = 1
comY = 1
posY = 800
'UPGRADE_ISSUE: Printer método Printer.NewPage no se actualizó. Haga
clic aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.NewPage()
End If

End While

'UPGRADE_ISSUE: Printer método Printer.EndDoc no se actualizó. Haga clic
aquí para obtener más información:
'ms-help://MS.VSCC.2003/commoner/redir/...2069"'
Printer.EndDoc()
MsgBox("Fin de impresión.", MsgBoxStyle.Information)



If rsData2.State = ADODB.ObjectStateEnum.adStateOpen Then
rsData2.Close()
End If


cnData.Close()


rsData2 = Nothing

cnData = Nothing

Exit Sub

manejadorerror:
If Mid(Err.Description, 1, 42) = "No se reconoce el formato de base de
datos" Then
If cnData.State = ADODB.ObjectStateEnum.adStateOpen Then
cnData.Close()
End If
intentos = intentos + 1
If cnData.ConnectionString = cadenaConexionData Then
cnData.ConnectionString = cadenaConexionData2
cnData.CommandTimeout = 60 ' x pp
Else
cnData.ConnectionString = cadenaConexionData
cnData.CommandTimeout = 60 ' x pp
End If
If intentos <= 3 Then
Resume
Else
MsgBox("Error -115652210465 de Access: se ha intentado hacer una
conexión a una base de datos que necesita reparación. Se ha cambiado el
formato de la base de datos.", MsgBoxStyle.Exclamation)

End If
Else
MsgBox(Err.Description, MsgBoxStyle.Exclamation)

End If

End Sub
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
15/07/2005 - 16:13 | Informe spam
Mi recomendacion es que te olvides completamente de ese codigo y uses
crystal reports (o similar) para hacer la impresion o rehagas completamente
el codigo de la impresion usando PrintDocument y sus eventos. El problema es
que la forma de imprimir cambio mucho de VB6 a .NET y por eso tienes tantos
comentarios de que no ha podido convertirse el codigo.

Lo que cualquiera te recomendara (y yo tambien) es que no conviertas codigo
de VB6 a .NET sino que rehagas la aplicacion desde cero en .NET. Puede ser
un poco pesado pero de esta forma no arrastras problemas de VB6, puedes
aprovechar mejor lo que el framework te ofrece y ademas siendo VB.NET
totalmente orientado a objetos puedes realizar un mejor diseño de toda la
aplicacion. Lo que tambien recomiendo si es que necesitas que la aplicacion
este funcionando siempre es ir haciendo una conversion parcial. Dado que
tienes la interoperabilidad .NET/COM puedes ir creando componentes en .net y
usarlo desde la aplicacion vb6 (o viceversa) hasta que conviertas la
aplicacion completa.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares