Red de conocimiento informático - Material del sitio web - Implemente la función de vista previa de impresión en el formulario e imprima las siguientes tablas y datos no estándar

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

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

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.