Salvare un Report con nome predefinito

Anonimo
2017-03-22T17:09:36+00:00

Salve a tutti! Sto cercando un modo per salvare un Report con nome della data, presa da un campo presente nel Report, campo (DATA). Non riesco a trovare il comando in VBA che mi possa fare questa funzione.

Questo è il comando che sto usando:

Private Sub Comando107_Click()

DoCmd.OpenReport "REPORT_RS_DEL", acViewPreview, , , acHidden

Dim sDATA As String

sDATA = Format(Reports![REPORT_RS_DEL]![DATA], "yyyy-mm-dd")

DoCmd.OutputTo acOutputReport, "REPORT_RS_DEL", acFormatPDF, "C:\Users\PC\Desktop\RS DEL" & "sDATA" & ".pdf"

DoCmd.Close

End Sub

ma mi salva il file "RS DEL sDATA.pdf"

non ho conoscenze del linguaggio di programmazione, ho cercato in tutto il Web ma non riesco a trovare e/o capire l'errore.

grazie a chi vorrà aiutarmi!!

Fede

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. Anonimo
    2017-03-22T19:04:39+00:00

    Sandro!! Funziona perfettamente!! Anche col messaggio finale di esportazione effettuata!!

    Un lusso che non mi sarei mai sognato....Io cercavo nel Web un codice, non conoscendo per niente

    il linguaggio di programmazione, ore di ricerca solo per poter salvare un report con nome, ti ringrazio infinitamente!! Anche a nome di altri che useranno questa funzione, grazie ancora!!

    Federico da Roma

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-03-22T18:14:55+00:00

    ciao Federico,

    personalizza intanto il nome dei controlli quel comando107 non si può vedere :-)

    controlli in reports e forms, campi propri di tabelle e queries.

    prova come segue :

    Dim rptName As String

    Dim strData As String

    rptName = "REPORT_RS_DEL"

    Const strOutputPath As String = "C:\Users\PC\Desktop"

    DoCmd.OpenReport reportName:=rptName, _

                     View:=acViewPreview, _

                     filtername:=Null, _

                     whereCondition:=Null, _

                     windowMode:=acHidden

    strData = Format$(Reports(rptName)!DATA, "yyyy-mm-dd")

    DoCmd.OutputTo objecttype:=acOutputReport, _

                    objectName:=rptName, _

                    outputformat:=acFormatPDF, _

                    outputfile:=strOutputPath & strData & ".pdf", _

                    autostart:=False

    DoCmd.Close objecttype:=acReport, objectName:=rptName

    VBA.MsgBox prompt:="Esportazione effettuata!", _

                        Buttons:=vbInformation, _

                       Title:="Informazione"

    se definisci una variabile stringa, non puoi passarla tra apici altrimenti passerai il testo non il valore, mi riferisco a quel :

    [...]

    DoCmd.OutputTo acOutputReport, "REPORT_RS_DEL", acFormatPDF, "C:\Users\PC\Desktop\RS DEL" & "sDATA" & ".pdf"

    [...]

    sdata evidenziato in grassetto.

    Facci sapere.

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento