Implemente la función de vista previa de impresión en el formulario e imprima las siguientes tablas y datos no estándar
Hay muchas formas de imprimir informes de datos en VB. Una es completar la impresión del informe mediante diseño y programación propios. 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.
El código de vista previa se encuentra en la siguiente URL:
/question/4165080.html
Código de impresión del informe:
Opción explícita
Privado n Como entero
Privado m Como entero
Privado 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
P privada como número entero
Pa privada como número entero
J privada como número entero
Txt privado como cadena
Fnt privado como entero
dd privado como variante
Función pública print(x como variante, y como variante, fnt como variante, txt0 como variante)
Impresora .CurrentX = x
Printer.CurrentY = y
Printer.FontSize = fnt
Printer.Print txt0
Función final p>
Sub privado cmdPrint_Click()
Adodc1.Recordset.MoveFirst
Para i = 0 a zsl - 1
Para j = 0 a 7
dy_dm(i, j) = Adodc1.Recordset(j)
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
Fin si
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
txt = "Página" & p + 1 & "Página"
dd = prnt(x, y, fnt, txt)
y = 500
x = 600
txt = "Código 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, texto)
x = 5500
t
xt = "Importar número de computadora"
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)
dd = prnt(x, y, fnt, txt)
x = 3500 p>
txt = dy_dm(i, 3)
dd = prnt(x, y, fnt, txt)
x = 5500
txt = dy_dm(i, 4)
dd = prnt(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)
Si Int(i/10) - i/10 = 0 Entonces
Printer.Line (500, 695 + (i - p * 80) * 180)-(10000, 695 + (i - p * 80) * 180)
Fin si
Siguiente i
Si zsl - p * 80 > 80 Entonces
Impresora.Línea (500, 695 + 180 * 80)-(10000, 695 + 180 * 80)
Impresora NuevaPágina<. /p>
Finalizar si
Siguiente p
Printer.EndDoc ' Impresión completada.
Cls
End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info =False;Data Source=jwl_dbf"
Adodc1.RecordSource = "seleccione cs.js_dm,cs. Nombre del repuesto, cs. . Inventario mínimo Cantidad, sl. Cantidad del saldo, sl. Monto del saldo, sl. Precio unitario del saldo, sl. = sl. código de repuesto " & " y cs. código de repuesto >" & "''" & " ordenar por código de categoría sl, sl. >
DataGrid1.Refresh
zsl = Adodc1.Recordset.RecordCount
Adodc3.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=jwl_dbf"
Adodc3 .RecordSource = "seleccione suma (monto del saldo) como hj de jwl_jiec"
Adodc3.Refresh
End Sub
El Lo anterior es para 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.