pdf in accesformulier tonen

MaitreJan

Gebruiker
Lid geworden
21 dec 2011
Berichten
58
ik wil in een accessformulier een pdf tonen, ieder record moet een verwijzing krijgen naar een pdf-document, zodat als je bladerd door de records je de pdf bekijkt.
wat wil ik graag is een knop om de pdf op te zoeken in in het record te paatsen en vervolgens te tonen in het formulier.
hoe kan ik dat doen?
ik werk met office 365 en onedrive
alvast bedankt Jan
ps misschien is dit al eens beschreven dan graag even verwijzen
 
Je vraagt twee verschillende dingen.

Voor het zoeken en kiezen van een (pdf) bestand gebruik je een "file dialoog". Maak een knop op je formulier en zet daar iets achter als:
Code:
Private Sub btnPDF_Kiezen_Click()
On Error GoTo Error_Afhandeling

With Application.FileDialog(msoFileDialogFilePicker)
    .Title = "PDF=bestand kiezen"
    .AllowMultiSelect = False
    .Filters.Add "PDF-bestanden", "*.pdf"
    
    If .Show Then
        Me.PDFbestand = .SelectedItems.Item(1)
        PDF_tonen
    End If
    
End With

Einde:
    Exit Sub

Error_Afhandeling:
    MsgBox "Foutmelding: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "Fout"
    Resume Einde

End Sub
Je ziet dat ik een procedure "PDF_tonen" aanroep. Die zorgt ervoor dat het bestand ook daadwerkelijk getoond wordt. Omdat je dat op meer plaatsen nodig hebt, heb ik er een aparte procedure van gemaakt. Ook bij het open van het formulier en het bladeren door records moet je zorgen dat het (juiste) bestand getoond wordt.
Voor het tonen van het bestand op je formulier gebruik je een webbrowser besturingselement.
De procedure PDF_tonen ziet er zo uit:
Code:
Sub PDF_tonen()
On Error GoTo Error_Afhandeling

    If Len(Nz(Me.PDFbestand, "")) = 0 Then
        Me.webPDF.Visible = False
    Else
        Me.webPDF.Visible = True
        Me.webPDF.ControlSource = "=" & Chr(34) & Me.PDFbestand & Chr(34)
    End If

Einde:
    Exit Sub

Error_Afhandeling:
    MsgBox "Foutmelding: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "Fout"
    Resume Einde

End Sub
Zoals ik al zei, moet je ervoor zorgen dat die procedure ook bij het openen van en bladeren door het formulier uitgevoerd wordt (met andere woorden in de gebeurtenis "Bij aanwijzen" van het formulier:
Code:
Private Sub Form_Current()
On Error GoTo Error_Afhandeling

    PDF_tonen

Einde:
    Exit Sub

Error_Afhandeling:
    MsgBox "Foutmelding: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "Fout"
    Resume Einde

End Sub
 
Terug
Bovenaan Onderaan