Hyperlinks in Bericht und dann in PDF

  • Access

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Volker Bunge.

    Hyperlinks in Bericht und dann in PDF

    Hallo zusammen,

    ich versuche gerade mit Access 2019 einen Bericht zu erzeugen, der Hyperlinks auf lokale PDF-Dateien enthält. Dieser Bericht soll dann als PDF ausgedruckt werden und die Links sollen dann auch noch in der PDF funktionieren.

    Ich habe eine Tabelle angelegt mit einem Linkfeld "Link". In dem steht dann bspw. file:///C:\Hintergrund Weiss.bmp (sichtbare Anzeige), #file:///C:\Hintergrund Weiss.bmp# (tatsächlicher Inhalt).

    Danach habe ich eine Abfrage in den Bericht erstellt: SELECT "Hier klicken#" & HyperlinkPart([Link],2) & "#" AS NeuHyper, Tabelle1.Link FROM Tabelle1;

    Im Bericht sind nun 2 Textfelder eingebaut, die die beiden Abfragefelder anzeigen. Beide sind als Hyperlinkfelder aktiviert.

    Lasse ich mir den Bericht nun in der Seitenansicht anzeigen, so funktionieren beide Felder einwandfrei. Auch in der Tabelle funktionieren die Links.

    Erstelle ich dann mit eDocPrinter eine PDF-Datei sieht die Optik so aus wie die Seitenansicht. Leider funktionieren die Links in beiden Feldern nicht.

    Komisch ist auch, wenn ich das Feld "Link" so groß ziehe, dass ich alles lesen kann, dann funktioniert der Link in der PDF - Datei teilweise. Bei "file://" anklicken passiert nichts, wenn ich dann auf "C:\..." klicke, kommt die Meldung, dass er die Datei nicht finden kann. Das liegt wahrscheinlich an dem Prozent20 für die Leerzeichen. Hier könnte ich auch noch eine Lösung brauchen, da ich eigentlich die Dateinamen nicht alle umbenennen wollte. Was aber gar nicht geht ist der Klick auf "hier klicken". Diese Anzeige sollte aber am Ende nur erscheinen.

    Grund dieses Vorgehens ist eine bevorstehende Kassenprüfung die online durchgeführt werden muss. Ich möchte, dass die Prüfer sich die Belege per Klick selbst aufrufen können und somit die Prüfung selbstständig durchführen können. Da die Prüfung schon in 2 Wochen stattfindet, ist da etwas Eile geboten.

    Kann mir hier jemand weiterhelfen?

    Gruß
    Volker
    Hallo zusammen,

    bin gerade schon ein kleines Stückchen weitergekommen.

    Neues Feld in der Tabelle als "kurzer Text" eingefügt und als Inhalt dann file:///C:\Hintergrund Weiss.bmp bzw. ein weiterer Datensatz hat nur C:\Hintergrund Weiss.bmp.
    Textfeld ist hier auch wieder auf "ist Hyperlink = Ja" eingestellt. Der Aufruf klappt jetzt auch in der PDF-Datei. Aber nur ab C:\....
    Also das Problem mit Prozent20 wäre hiermit (hoffentlich) schon einmal gelöst.

    Es klappt auch mit allen Textausrichtungen (bis auf linksbündig). Verteilen würde dann so aussehen, dass der Link linksbündig dasteht und somit optisch dem linksbündig entspricht, obwohl das Feld nicht breit genug ist für den gesamten Inhalt.

    Bleibt also nur die fehlende Anzeige "Hier klicken" übrig.

    Gruß
    Volker

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Volker Bunge“ ()

    Hallo zusammen,

    habe das Problem gelöst.

    Aufgrund dieses Links answers.microsoft.com/en-us/ms…5a-4127-93f3-ec912c60070e bin ich auf die Lösung gestoßen.

    Also:
    Tabelle hat 2 Felder
    Link (Typ: Link)
    LinkBezeichnung (Typ: Kurzer Text)
    Inhalt: file:///C:\Hintergrund Weiss.bmp (wird automatisch zu file:///C:\Hintergrund Weiss.bmp) | Beleg 001 usw.
    LinkBezeichnung ist später der Text, den man anklicken kann. (Braucht man nur, wenn jeder Link eine andere Bezeichnung bekommen soll)

    Abfrage für den Bericht: SELECT Tabelle1.Link, Tabelle1.LinkName, "Hier klicken#" & HyperlinkPart([Link],2) & "#" AS HierKlickenLink, IIf([Link]<>"",[LinkBezeichnung] & [Link],"") AS VariablerTextLink
    FROM Tabelle1;

    HierKlickenLink und VariablerTextLink sind die beiden neuen Felder für den Bericht.

    HierKlickenLink beinhalten immer einen feststehenden Text den man anklicken kann, hier "Hier klicken" VariablerTextLink setzt den Link aus den beiden Feldern "Link" und "LinkBezeichnung" zusammen


    Wer es gerne ohne Abfragemanipulation machen möchte, der kann einfach folgenden Code einfügen

    VB.NET-Quellcode

    1. ' https://regina-whipp.com/blog/?p=1024
    2. ' http://www.office-loesung.de/ftopic483645_0_0_asc.php
    3. Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
    4. Me.TextFest= "Hier klicken#" & HyperlinkPart(Me.Link, acAddress) & "#"
    5. Me.TextVariabel = LinkBezeichnung & "#" & HyperlinkPart(Me.Link, acAddress) & "#"
    6. End Sub


    Die Tabellenfelder "Link" und "Linkbezeichnung" müssen im Bericht vorhanden sein, können aber ausgeblendet werden.

    Die Textbox(en) für den späteren Link sind wie folgt einzustellen
    Ist Hyperlink = Ja
    Als Hyperlink anzeigen = Wenn Link
    Unterstrichen = Ja (wird automatisch geändert wenn "Ist Hyperlink" geändert wird)

    Mein Fehler:
    Lt. dem o. g. Link muss man den Bericht nicht drucken sondern mit Boardmitteln als PDF abspeichern. Nur so funktionieren dann auch die Links.
    Ich hatte meine immer als PDF ausgedruckt, hier lag bei mir der eigentliche Fehler.

    Ausdruck per Button-Klick
    Jetzt noch schnell mit

    VB.NET-Quellcode

    1. Private Sub Befehl0_Click()
    2. DoCmd.OutputTo acOutputReport, "Berichtsname", acFormatPDF, "C:\Temp\Berichtname.pdf", True
    3. End Sub


    den Bericht erzeugen und durch das True am Ende auch noch anzeigen lassen.

    Gruß

    Volker