Para imprimir varios registros lo único que hay que hacer es pasarle a la instrucción DoCmd.OpenReport, en el argumento [WhereCondition], dentro de una cláusula IN los identificadores (keys) de los registros a imprimir. Como se puede observar en el siguiente código no es nada compicado:

Dim NumerosPedidos As String
Dim ElementoSeleccionado As Variant

‘ formamos una cadena con los números de pedidos seleccionados en el
‘ cuadro de lista y separados por comas (en este caso, sería algo
‘ como “10248,10249,10250,…”)

For Each ElementoSeleccionado In Me.lstPedidos.ItemsSelected
NumerosPedidos = NumerosPedidos & Me.lstPedidos.ItemData(ElementoSeleccionado) & “,”
Next

‘ si había algún pedido seleccionado
If Len(NumerosPedidos) > 0 Then
‘ quitamos la última coma de la cadena
NumerosPedidos = Left(NumerosPedidos, Len(NumerosPedidos) – 1)
‘ y abrimos el informe en vista previa para visualizar los pedidos seleccionados
DoCmd.OpenReport “Pedidos”, acViewPreview, , “IdPedido IN(” & NumerosPedidos & “)”
Else

‘ no se ha seleccionado ningún elemento del cuadro de lista
MsgBox “Por favor, selecciona algún pedido”
End If

Access 2000. Descargar

Fuente: Access & VBA FAQ

Leave a Reply