Lär dig hur du kan skapa en VBA-funktion som låter dig spara din åtkomstrapport som PDF med bara ett klick på en knapp. Du behöver inte gå till Access Ribbon varje gång!
Åtkomstrapporter kan sparas manuellt som PDF fil. Allt du behöver göra är att:
- Öppna rapporten.
- Gå till Access Ribbon: External Data> PDF eller XPS.
- Välj filnamn och mappsökväg där du vill att det ska sparas.
- Klicka på Publicera så är du klar.
Enkelt, eller hur? Men om det finns ett behov av att du exporterar rapporter upprepade gånger, säg dagligen, kan det vara lite beskattande.
Oroa dig inte. Det finns ett enklare sätt. Med bara ett klick på en knapp kan din rapport omedelbart exporteras till din mapp. Detta kan göras med hjälp av VBA. Följ bara stegen nedan.
Hämta hem nu
Om du vill börja använda funktionen så snart som möjligt kan du:
Ladda ner provdatabasen med VBA-koder nu
Annars kan du läsa innehållet nedan om du vill göra det själv.
Steg för att skapa en VBA-funktion som sparar åtkomstrapporten som PDF Fil
1. Lägg till en kommandoknapp i din rapport
Den här artikeln förutsätter att du redan har skapat en åtkomstrapport. Öppna den i designvyn och lägg till en knapp i rapporthuvudet (som visas nedan).
Byt namn på knappen som cmd_exportPDF. Att göra detta:
- När du är i designvy väljer du knappen.
- Öppna fastighetsbladet (ALT + Enter).
- Gå till fliken Annat> Namn.
- Ändra värdet för namn till cmd_exportPDF.
2. Lägg till kod för kommandoknappen
För att lägga till koden måste du först lägga till en On Click-händelse till knappen.
- Med kommandoknappen vald, gå igen till fastighetsbladet.
- Klicka på fliken Händelse.
- Leta efter On Click och välj ...
- När menyn Välj byggare dyker upp väljer du Kodbyggare och klickar på OK.
- Detta öppnar VBA Editor.
Kopiera nu koden nedan.
Glöm inte att uppdatera värden för filnamn och fldrPath. De har var och en asterisk (*) i kommentarsektionen.
Function FileExist(FileFullPath As String) As Boolean
Dim value As Boolean
value = False
If Dir(FileFullPath) <> "" Then
value = True
End If
FileExist = value
End Function
Private Sub cmd_exportPDF_Click()
Dim fileName As String, fldrPath As String, filePath As String
Dim answer As Integer
fileName = "Member Contact Details" 'filename for PDF file*
fldrPath = "C:\Users\Jessica\Desktop\PDF Exports" 'folder path where pdf file will be saved *
filePath = fldrPath & "\" & fileName & ".pdf"
'check if file already exists
If FileExist(filePath) Then
answer = MsgBox(prompt:="PDF file already exists: " & vbNewLine & filePath & vbNewLine & vbNewLine & _
"Would you like to replace existing file?", buttons:=vbYesNo, Title:="Existing PDF File")
If answer = vbNo Then Exit Sub
End If
On Error GoTo invalidFolderPath
DoCmd.OutputTo objecttype:=acOutputReport, objectName:=Me.Name, outputformat:=acFormatPDF, outputFile:=filePath
MsgBox prompt:="PDF File exported to: " & vbNewLine & filePath, buttons:=vbInformation, Title:="Report Exported as PDF"
Exit Sub
invalidFolderPath:
MsgBox prompt:="Error: Invalid folder path. Please update code.", buttons:=vbCritical
End Sub
Dessa kodrader kommer att:
- Kontrollera först om en PDF fil med samma filnamn finns redan i den angivna mappen. Om så är fallet visas en fråga som frågar om du vill ersätta den med en ny.
Om du väljer ja fortsätter rapporten med exportprocessen. Annars konverteras inte filen till PDF.
- Om du angav en mappsökväg som inte existerar kommer en uppmaning att uppmana dig att uppdatera mappsökvägen som anges i koden. Exportprocessen fortsätter inte förrän detta har korrigerats.
- När rapporten väl har exporterats kommer en uppmaning att visas var PDF filen sparades.
Det är allt! Nu är det dags att testa din knapp.
Det går inte att öppna databasen för åtkomst
Det mest skrämmande som kan hända en Access-användare är att vakna upp en dag och inse att databasen inte längre kunde öppnas. Den har blivit skadad. Ännu värre är att du inser att du inte kunde säkerhetskopiera dina data. Oroa dig inte. DataNumen Inc. skapade en programvara som kan fixa Access databas. Din databas kan fortfarande återupplivas.
Författarintroduktion:
Jayme Stack är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive SQL-återhämtning och Excel-programvara för återställningsprogramvara. För mer information besök www.datanumen.com

