Access - sESeleccion impresora

 
Vista:

sESeleccion impresora

Publicado por jose (1 intervención) el 13/11/2005 13:20:58
Hola, estoy perdido y necesito ayuda

tengo una aplicación access con tablas vinculadas a SQL Server.,
En la base de datos acces puedo hacer consultas mediante formularios e imprimir un pequeño informe con los datos de la consulta.
Una vez obtenido el registro buscado, dándole a un botón se imprime directamente en la impresora predeterminada. Yo necesito que al presionar sobre el botón pueda seleccionar la impresora desde la ventana de windows de impresoras-
¿cómolo hago?

Os pego el código del botón que actuualmente permite imprimir directamente, ¿que cambios debo hacer en el?


Sub Comando2_Click()
On Error GoTo Err_Comando2_Click

Dim stDocName As String
Dim stLinkCriteria As String
stLinkCriteria = "[Id]=" & "'" & Me![Lista0] & "'"

If Carta = False Then
If Modificar = True Then
Select Case Val(Forms![Opciones]![Grupo de Opciones])
Case 1
stDocName = "Obras 1"
Case 9
stDocName = "Otras 2"
End Select
End If
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
If Val(Forms![Opciones2]![Grupo de Opciones]) = 2 Then
stDocName = "Eti"
End If
If Val(Forms![Opciones2]![Grupo de Opciones]) = 1 Then
stDocName = "Fic"
End If
If Val(Forms![Opciones2]![Grupo de Opciones]) = 3 Then
stDocName = "Rep"
End If
If Val(Forms![Opciones2]![Grupo de Opciones]) = 6 Then
stDocName = "Nota"
End If

DoCmd.OpenReport stDocName, acNormal, , stLinkCriteria
End If
Exit_Comando2_Click:
Exit Sub

Err_Comando2_Click:
MsgBox Err.Description
Resume Exit_Comando2_Click

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sESeleccion impresora

Publicado por Enrique (1299 intervenciones) el 14/11/2005 15:46:19
Puedes utilizar el comando "DoCmd.RunCommand acCmdPrint" para que se abra el cuadro de diágolo "Seleccionar Impresora" e imprimir seguidamente pero esto requiere abrir el Informe en vista previa, aunque sólo se verá durante un instante:

Private Sub Comando2_Click()
On Error Goto CancelarImpresion
.......
.......
.......
If Val(Forms![Opciones2]![Grupo de Opciones]) = 6 Then
stDocName = "Nota"
End If

DoCmd.OpenReport stDocName, acPreview , , stLinkCriteria
DoCmd.RunCommand acCmdPrint
DoCmd.Close acReport, stDocName
Exit Sub
CancelarImpresion:
DoCmd.Close acReport, stDocName
MsgBox "Impresión cancelada.", vbInformation, "Imprimir"

End Sub

Hay otra forma de hacerlo mediante el control ActiveX Microsoft Common Dialog Control vers. 6.0, que no necesita abrir previamente el Informe, pero hay que disponer de la licencia para insertar ese control en un formulario y no todos los Pc's la tienen.

Saludos y espero que te sirva.
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar