Error DoCmd. OutputTo multiples hojas

Los introduzco, la BD funcionaba bien hasta que la dividí (Back-end / Front-end).

El error es que me exporta el formulario en el formato adecuado pero crea 46 hojas iguales.

Pego el código entero del botón.

Private Sub cmdImprimir_Click()
    Dim miForm As String
    Dim miRuta As String
    Dim nomArchivo As String
    Dim miRutaC As String
    Dim TxtNP As String
    TxtNP = Nz(Me.TxtNPedidoED, "")
If TxtNP = "" Then 'Si no cargamos ningún cliente, avisamos y salimos
    MsgBox "No has cargado un Nº DE PEDIDO.", vbOKOnly + vbInformation, "AVISO"
            Me.TxtNPedidoED.SetFocus
    Exit Sub
    End If
Call FuncionColorB(Me.Name)
On Error GoTo cmdImprimir_Click_Err
miRutaC = fncSelectCarpeta()
        If miRutaC = "" Then
        Else
miForm = Me.Name
nomArchivo = (miRutaC & "\" & Me.TxtNPedidoED & "-" & Format(Date, "dd-mm-yyyy") & ".pdf")
DoCmd. OutputTo acOutputForm, miForm, "PDFFormat(*.pdf)", nomArchivo, True, "", 0, acExportQualityPrint
Call FuncionColorA(Me.Name)
        End If
cmdImprimir_Click_Exit:
    Exit Sub
cmdImprimir_Click_Err:
    MsgBox "Se canceló la Impresión", vbInformation + vbOKOnly, "ERROR"
    Resume cmdImprimir_Click_Exit
End Sub

A mi forma de ver el cambio que realice en la base no debería afectar este código.

1

1 respuesta

Respuesta
1

Con DoCmd. OutputTo no puedes elegir el número de páginas (registros) a imprimir, si no que te imprime todos los que haya.

Tendrías que filtrar previamente el formulario o usar otro método que sí lo permita, como puede ser PrintOut

Hola , el formulario es de una sola hoja , y al exportarlo genera 46 hojas iguales. También intente cambiar de método con PrintOut me imprime 46 hojas iguales.

Existe alguna forma de abrir un formulario en vista preliminar, de la misma forma que se puede abrir un reporte con "DoCmd.OpenReport "IStock", acViewPreview"

Saludos , David.

Pues si es como dices, es un comportamiento la mar de extraño, y no veo nada en el código que lo pueda provocar.

De todas formas, los formularios no están pensados para imprimirse (para eso están los informes), y que yo conozca, no hay forma de abrirlos en vista preliminar (porque no la tienen)

La verdad que si es raro , yo soy un programador nuevo y suelo reparar los errores a partir de un mensaje que me dice que es lo que esta mal jejeje, pero en este caso no arroja ninguna pista solo funciona de manara incorrecta.

Supuse que no podría hacer la visualización del formulario pero pregunto por las dudas había algún truco que no conozca.

Buscare de pasar esos datos a un informe para poder imprimirlo en PDF.

Muchas gracias por tu ayuda.

Saludos

No hay de que. Trabajar con informes es bastante similar a hacerlo con formularios. Si le asignas como origen toda la tabla, tendrás que filtrarlo para que te muestre el registro que quieres imprimir (Con DoCmd. OpenReport "NombreInforme",,,CriterioFiltro)

También le puedes asignar como origen una consulta que filtre ya por el valor de tu formulario.

Un saludo.


Visítanos: http://nksvaccessolutions.com/ 

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas