Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    429

    [VBA access] Stampare un report in pdf e su carta

    Ciao avrei bisogno di stampare un report su carta e su PDFCreator (stampante virtuale per fare i pdf). Il mio report contiene un campo dati che sull'evento caricamento del report stesso viene valorizzato con una query seguente
    codice:
    Private Sub Report_Load()
    'carico i dettagli prest in un campo
        Dim SQL As String
        Dim RS As DAO.Recordset
        Dim DB As DAO.Database
        Dim elenco As String
        
        SQL = "SELECT tipodoc.descTipoDoc, prest177dettagli.descrizione, prest177dettagli.idpratica" & _
        " FROM prest177dettagli INNER JOIN tipodoc ON prest177dettagli.codTipoDoc = tipodoc.codtipodoc " & _
        " WHERE (((prest177dettagli.idpratica)=" & Forms![dettagliPrest]![idpr].Value & "));"
        
        Set DB = CurrentDb
        Set RS = DB.OpenRecordset(SQL)
        
        While Not RS.EOF
            If RS!descrizione <> "" Then
                elenco = elenco & RS!descTipoDoc & " " & RS!descrizione & ",  "
            Else
                elenco = elenco & RS!descTipoDoc & ",  "
            End If
            RS.MoveNext
        Wend
        
        elenco = UCase(elenco)
        
        Me.dati = elenco
        
        RS.Close
        Set RS = Nothing
        DB.Close
        Set DB = Nothing
    End Sub
    Se visualizzo il report con

    DoCmd.OpenReport NomeReport, acViewPreview

    i valori nel campo dati vengono visualizzati normalmente, mentre se uso il seguente codice per inviare il report alla stampante pdf non mi fa vedere il campo dati, immagino che sia perche' non mi carica il report e non passa dall'evento load in cui dovrebbe generare i dati stessi
    codice:
    Dim strDefaultPrinter As String
        Dim stDocName As String
        Dim NomeReport As String
        Dim NomeStampante As String
        
        strDefaultPrinter = Application.Printer.DeviceName
        
        NomeReport = "prest"
        NomeStampante = "PDFCreator"
        Set Application.Printer = Application.Printers(NomeStampante)
        
        If Application.Printer.DeviceName <> "PDFCreator" Then
            MsgBox "Attenzione installare PdfCreator"
        Else
            DoCmd.OpenReport NomeReport, acViewNormal
            DoCmd.Close acReport, NomeReport
            
        End If
    qualcuno mi saprebbe dare una mano a risolvere? grazie
    Da un grande potere derivano grandi responsabilità

  2. #2
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    'facile: non esporti in formato PDF usa questo


    Private
    Sub Create_PDF_Click()
    DoCmd.OutputTo acOutputReport, , acFormatPDF, "name.pdf", True
    End Sub
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.