Como abrir de una vez varios archivos pdf vinculados en una tabla de access

Como abrir de una vez varios archivos pdf listados y vinculados en una tabla de access, para no tener que darle clic a cada uno de ellos, o como hago para que cada vez que le doy click si vayan directamente a la impresora.

1 respuesta

Respuesta
2

Sandra: Abre un Recorset con los Registros de esa Tabla.

Al igual que ahora mandas uno a uno, por medio de un bucle vas enviando de uno en uno, pero enviarás una sola vez.

Hoy es muy tarde aquí en España, por lo que si con ese apunte no tienes suficiente me comentas la estructura de tu tabla, el código que usas para uno, y procuro hacerte unas lineas de código. Saludos >> Jacinto

Mil gracias

Mira es una consulta que consta de dos campos, uno es referencia y el otro es manifiesto, este ultimo esta vinculado a un archivo de manifiesto correspondiente a la referencia, esta consulta filtra solo los manifiesto correspondientes aun pedido X, la idea de ser posible es que al listarse la consulta se vayan imprimiendo cada manifiesto sin abrirlo o que al darle click a cada uno se impriman sin tener que abrirlos. mil gracias por tu ayuda.

Sandra: Por lo que deduzco de tu imagen, lo que quieres hacer es abrir e imprimir varios pdf "que ya tienes guardados en una carpeta" y cuyonombre tienes en hipervínculos.

Creo que en ese caso has de hacer uso de la API >> apiShellExecute, pero no tengo experiencia en ello. Intento mirar si veo algo y te comento, pero entre tanto mi sugerencia es que generes otra nueva pregunta con el texto más aproximado a lo que ya tienes y lo que pretendes obtener.

No quiero decir con eso que esta pregunta tenga el titulo erróneo sino que más o menos, creo que sería en esta línea>> Como Imprimir todos los PDF cuyo hipervínculo tengo en una consulta

Un poco de texto y la imagen que has pegado aquí pero a ser posible que se vea toda la ruta.

O sea todo el texto azul.

Aún así ignoro si lo que quieres es eso. Un saludo >> Jacinto

Sandra: Dentro de lo que he encontrado te cito la metodología de lo que he probado, que personalmente creo que es lento y molesto por mostrar/ocultar lo que se imprime, pero realiza su función.

1.- En un módulo estandar que puedes llamar como quieras ejemplo MdlShell, copia y pega éste código.

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
    ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub ImprimePDF(SDocumentFullPath As String)
ShellExecute 1, "Print", SDocumentFullPath, vbNullString, vbNullString, 1
End Sub

En el Formulario donde tengas los datos de la Consulta >> C_Final, pones un Botón cuyo nombre para el Ejemplo he puesto >> BtnPDFS y le adjudicas éste código

'JTJ >> Pruebas Imprimir PDF
Sub BtnPDFS_Click()
Dim StrSQL As String
Dim Rst As DAO.Recordset
StrSQL = "SELECT * FROM C_Final;"
Set Rst = CurrentDb.OpenRecordset(StrSQL, dbOpenSnapshot)
If Not Rst.EOF And Not Rst.BOF Then
        Rst.MoveLast
        Rst.MoveFirst
        Do While Not Rst.EOF
               Call ImprimePDF(Rst!ManifiestoPrueba)  'Está en Módulo >> MdlJTJPruebas  >> Funciona lento pero bien
               Rst.MoveNext
               DoEvents
        Loop
Else
        MsgBox "Este recordset no tiene registros", vbCritical, "RECORDSET VACIO"
End If
Rst.Close
Set Rst = Nothing
End Sub

El campo ManifiestoPrueba debe tener un formato parecido a ésto.

C:\Desarrollos\Ejemplos\Informes\ImpresionInformesPDF\InformesImpresos\2.pdf

Con ésto doy por finalizada mi aportación, porque como te comentaba no es mi fuerte ese proceso. Un saludo >> Jacinto

¡Gracias!

Lo estaré probando en el día de hoy espero me de luz para resolver este tema

Muchas gracias y feliz día

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas