Buongiorno a tutti, ho bisogno del vostro supporto e aiuto per poter salvare (in PDF) in un percorso preciso un Report che ha il nome di una casella di testo e la data attuale.
Con il codice sottoriportato riesco a crearlo una sola volta poiché appena lanciata nuovamente la routine lo va a sovrascrivere.
Io desidererei invece crearlo, salvarlo e non sovrascrivere quello precedente e con lo stesso nome.
questo è il codice che attualmente utilizzo.
Private Sub cmdPDF_Click()
On Error Resume Next
If IsNull(Me.txtPozzoTipo) And IsNull(Me.txtDal) And IsNull(Me.txtAl) And IsNull(Me.txtDataPagamento) And IsNull(Me.cboCognomeNome) _
And IsNull(Me.cboAnno) Then
MsgBox "Non posso Salvare in PDF, controlla tutti i campi di ricerca e Filtro sulla Maschera, non possono essere vuoti o non selezionati.", vbCritical, "CREA FATTURA/QUIETANZA IN PDF"
Exit Sub
End If
'Verifico la presenza della cartella: Quietanze_Soci_mesi_vari nella directorY C e se c'è salvo il Report in PDF
If Len(Dir("C:\Quietanze_Soci_mesi_vari", vbDirectory)) > 0 Then
Else
MkDir ("C:\Quietanze_Soci_mesi_vari")
End If
' salva il report in PDF nella directory scelta
Dim rptName As String
Dim strData As String
Dim strNomeFile As String
rptName = "ReportQuietanzaSocio"
Const strOutputPath As String = "C:\Quietanze_Soci_mesi_vari"
DoCmd.OpenReport reportName:=rptName, _
view:=acViewPreview, _
filtername:=Null, _
whereCondition:=Me.Filter, _
windowMode:=acHidden
strData = Format$(Reports(rptName)!txtDataAttuale, "yyyy-mm-dd")
strNomeFile = Reports(rptName)!CognomeNome
DoCmd.OutputTo objecttype:=acOutputReport, _
objectName:=rptName, _
outputformat:=acFormatPDF, _
outputfile:=strOutputPath & strNomeFile & " " & "Quietanza del " & strData & ".pdf", _
autostart:=False
DoCmd.Close objecttype:=acReport, objectName:=rptName
VBA.MsgBox prompt:="Esportazione effettuata in : " & strOutputPath, _
Buttons:=vbInformation, _
Title:="Informazione"
DoCmd.OpenForm "frmQuietanze", acNormal
End Sub
Spero di essere stato chiaro e comprensibile.
Ciao Nicola.