código de impresión vb
Este es mi código para la salida de consultas de la base de datos, como referencia:
Hay muchas formas de imprimir informes de datos en VB. Una es completar la impresión del informe mediante su propio diseño y. programación. El segundo es realizar la impresión y salida de informes a través de MS OFFICE. El tercero es utilizar la impresión del informe del diseñador de informes de datos. A menudo utilizo el primer método, que tiene las características de una aplicación flexible según las necesidades, pero requiere escribir un programa. El código se adjunta a continuación. La primera sección del código define las variables básicas, la segunda sección del código define la función de impresión y la tercera sección del código es el código de impresión específico, incluida la conversión de datos. El cuarto fragmento de código es el código de carga del formulario. La conexión de la base de datos específica y el código de impresión deben modificarse de acuerdo con los requisitos de datos en los que está involucrado.
Opción explícita
Privada n como entero
Privada m como entero
Privada zh_dm(10) como doble
Privado dy_dm(3000, 10) Como variante
Privado zsl como entero
Privado y como entero
Privado x como entero
Privado i como entero
Privado k como entero
Privado p como entero
Privado pa como entero
Privado j como entero
Txt privado como cadena
Fnt privado como entero
DD privado como variante
'Función de impresión de texto
Función pública print(x como variante, y como variante, fnt como variante, txt0 como variante)
Printer.CurrentX = x
Printer.CurrentY = y
Printer.FontSize = fnt
Printer.Print txt0
Función final
Private Sub cmdPrint_Click()
Adodc1.Recordset.MoveFirst
Para i = 0 a zsl - 1
Para j = 0 a 7
dy_dm(i, j) = Adodc1.Recordset(j) p>
p>
Siguiente j
Adodc1.Recordset.MoveNext
Siguiente i
'Determinar el número de páginas
k = Int( zsl / 80)'80 es el número de líneas por página
Si k - zsl / 80 < 0 Entonces
k = k + 1 p>
Fin Si p>
fnt = 8
Para p = 0 Para k - 1
pa = p + 1
y = 300
x = 4500
txt = "Inventario de materiales de la máquina"
dd = prnt(x, y, fnt, txt)
x = 8500 p>
txt = "Página" & p + 1 & "Página"
dd = prnt(x, y, fnt, txt)
y = 500
x = 600
txt = "Código de repuesto"
dd = prnt(x, y, fnt, txt)
x = 1500
txt = "Nombre del repuesto"
dd = prnt(x, y, fnt, txt)
x = 3500
txt = "Especificaciones de repuestos"
dd = prnt(x, y, fnt, txt)
x = 5500
txt = "Número de computadora importado"
dd = prnt(x, y, fnt
, txt)
x = 7500
txt = "Reserva mínima"
dd = prnt(x, y, fnt, txt)
x = 9000
txt = "Inventario"
dd = prnt(x, y, fnt, txt)
Para i = 0 + p * 80 A 79 + p * 80
y = 700 + 180 * (i - p * 80)
x = 600
txt = dy_dm( i, 1)
dd = prnt(x, y, fnt, txt)
x = 1500
txt = dy_dm(i, 2)
p>dd = prnt(x, y, fnt, txt)
x = 3500
txt = dy_dm(i, 3)
dd = imprimir(x, y, fnt, txt)
x = 5500
txt = dy_dm(i, 4)
dd = imprimir(x, y , fnt, txt)
x = 7500
txt = dy_dm(i, 5)
dd = prnt(x, y, fnt, txt)
x = 9000
txt = dy_dm(i, 6)
dd = prnt(x, y, fnt, txt)
'Imprimir línea de separación
Si Int(i/10) - i/10 = 0 Entonces
Printer.Line (500, 695 + (i - p * 80) * 180) -(10000, 695 + (i - p * 80) * 180)
Finalizar si
Siguiente i
Si zsl - p * 80 > 80 Entonces
Impresora.Línea (500, 695 + 180 * 80)-(10000, 695 + 180 * 80)
Impresora.NuevaPágina
Fin Si p>
p>
Siguiente p
Printer.EndDoc ' Impresión completada.
Cls
End Sub
'Código de consulta
Sub privado Form_Load()
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=jwl_dbf"
Adodc1.RecordSource = "select cs.js_dm,cs. Código de repuesto, cs. Nombre de repuesto, cs. Repuesto especificación de pieza, cs. Número de computadora de importación, cs. Cantidad mínima de inventario, sl. Cantidad de saldo, sl. Precio unitario de saldo, sl.
" donde cs.código de repuesto = sl.código de repuesto" & " y cs.código de repuesto>" & "''" & " ordenar por código de sl.categoría, sl.código de repuesto"
Adodc1.Refresh
DataGrid1.Refresh
zsl = Adodc1.Recordset.RecordCount
Adodc3.ConnectionString = "Provider=MSDASQL.1;Persist Información de seguridad=False;Fuente de datos= jwl_dbf"
Adodc3.RecordSource = "seleccione la suma (monto del saldo) como hj de jwl_jiec"
Adodc3.Refresh
End Sub
Lo anterior es solo como referencia. Para obtener más información, consulte "VISUAL BASIC 6.0 Advanced Programming Skills - ADO Data Access" publicado por Xi'an Jiaotong University Press.