Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Guenther am August 30, 2015, 14:29:51

Titel: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Guenther am August 30, 2015, 14:29:51
Hallo liebe Helferinnen und Helfer!

ich habe einen Datenbank, bei der für jeden Benutzer ein Verzeichnis auf der Festplatte eingerichtet wird. In dieses werden verschiedene pdf-Dateien gespeichert.
Nun möchte ich über ein Webbrowsersteuerelemt eine der Dateien auswählen können und auch anzeigen.


Hiefür habe ich den folgenden Code erstellt. Leider findet er den Pfad nicht, bzw. kann diesen nicht korrekt zusammenbauen. Die MsgBox ist nur zur Kontrolle! Sollte später dann dafür verwendet werden, den Hinweis zu geben, dass keine pdf-Datei vorhanden ist.

Private Sub Webbrowser262_Click()
    Dim strPath As String, strFile As String, strFoundFile As String
    strPath = "C:\Users\SSA\Bestand\"
    strFile = Me.SuS_Name & "*" & "*.pdf"
    strFoundFile = Dir(strPath & strFile)
    If strFoundFile <> "" Then
    Application.FollowHyperlink strFoundFile
       'Application.FollowHyperlink strPath & strFoundFile
    Else
    MsgBox "Finde keinen Pfad!"
    End If
End Sub
Leider kann ich nicht herausfinden, warum der Code nicht funktioniert. Im Moment kommt immer die MsgBox!


Bin dankbar, wenn mir jemand den Fehler aufzeigen kann.

Günther
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: DF6GL am August 30, 2015, 16:48:43
Hallo,

Debuggen hilft vermutlich weiter...  (Haltepunkt setzen, Code im >Einzelschritt durchlaufen und dabei akt... die Variablen prüfen)


Private Sub Webbrowser262_Click()
    Dim strPath As String, strFile As String
    strPath = "C:\Users\SSA\Bestand\"
    strFile = StrPath & Me.SuS_Name & ".pdf"
    If Dir(strFile) <> "" Then
    Application.FollowHyperlink strFile

    Else
    MsgBox "Finde keine Datei!"
    End If
End Sub
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Guenther am August 30, 2015, 21:52:49
Lieber DF6GL!

Danke für die rasche Antwort! Leider bleibt das Problem vorhanden.
Ich bekomme keine Fehlermeldung! Der Code stimmt in beiden Fällen. Leider ist mir unklar, warum der Pfad nicht korrekt gebildet werden kann.

Eventuell bin ich aber auch komplett auf dem Holzweg  :-\

Zur Situation:
Ich hätte gerne nach dem Klick auf das Feld, dass ich wie im Dateimanager auswählen kann, welche pdf-Datei innerhalb des Ordners für die im Formular ausgewählte Person angezeigt werden soll.
Das kann es auch mehrere pdf-Dateien geben!

Nochmals Danke für jede Hilfe und ebenfalls Grüße vom direkten Umfeld des Bodensees  :)

Günther
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: DF6GL am August 30, 2015, 22:17:31
Hallo,

naja, das wäre ja eine ganz andere Aufgabenstellung.....


Der Code prüft lediglich, ob es im Verzeichnis   "C:\Users\SSA\Bestand\"  eine PDF-Datei gibt, deren Name im Textfeld Me.SuS_Name angezeigt wird.  Falls vorhanden, wird die Datei angezeigt.. Evtl. ist jedoch noch das Protokoll erforderlich:

Application.FollowHyperlink "file://" & strFile

Such mal hier nach "Filedialog", damit könntest Du dann ein Datei-Auswahl-Dialogfenster öffnen und die gewünschte Datei auswählen...
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: MaggieMay am August 30, 2015, 22:21:29
Hi,

du kannst die FollowHyperlink-Methode nur in Verbindung mit einem konkreten Dateinamen mit vollständigem Zugriffspfad einsetzen.
Du aber scheinst Dateien eines bestimmten Dateityps in einem bestimmten Verzeichnis suchen zu wollen.
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 18, 2016, 15:31:38
Hallo
Ich bin bei meiner Suche nach einem Weg eine URL aufzurufen, die zum Teil aus der Eingabe in ein Textfeld besteht, auf diesen Beitrag gestossen.
Die URL ist immer gleich aufgebaut bis auf eben den Teil aus dem Textfeld. Ed geht dabei um Busfahrpläne, ins Textfeld kommt die gesuchte Linie. Hier mal mein Code:

Private Sub cmdBusGo_Click()
    Dim strPath As String, strFile As String, strFoundFile As String
    strPath = "http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/"
    strFile = Me.txtBus & ".pdf?v97"
    strFoundFile = strPath & strFile
    Application.FollowHyperlink strFoundFile
End Sub


Wenn die eingegebene Linie existiert klappt diese Methode aus tadellos. Existiert sie allerdings nicht öffnet ein Klick an Stelle der auf der Homepage dafür vorgesehen Seite eine Fehlermeldung mit Vorschlag zum Debuggen.

Könnt ihr mir sagen woran das liegt? Und wie ich das verhindern kann, denn für den User ist diese Fehlermeldung wohl eher unnütz.
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: database am Februar 19, 2016, 19:54:35
Hallo,

Zitatfür den User ist diese Fehlermeldung wohl eher unnütz
Wie wahr - aber die Fehlermeldung enthält auch eine Fehlernummer - oder?
Die könnte man für eine Fehlerbehandlungsroutine heranziehen.
Oder du versuchst das mal:



Private Sub cmdBusGo_Click()
    Dim strPath As String, strFile As String, strFoundFile As String
    strPath = "http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/"
    strFile = Me.txtBus & ".pdf?v97"
    strFoundFile = strPath & strFile
   
    On Error GoTo ErrHandler
    Application.FollowHyperlink strFoundFile

    Exit Sub

    ErrHandler:
    MsgBox "Die eingegebene Linie existiert nicht!"

End Sub



ZitatKönnt ihr mir sagen woran das liegt?
Liegt daran, dass das File welches in strFile definiert ist in den Verzeichnissen am Webserver nicht existiert
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 19, 2016, 20:01:44
Vielen Dank erstmal

Zitat von: database am Februar 19, 2016, 19:54:35
aber die Fehlermeldung enthält auch eine Fehlernummer

Ja: Run-time Error '8' Cannot download the information you requested

Mit deinem Code erscheint zwar jetzt der Dialog dass die Linie nicht existiert, aber nicht nur bei nicht existierenden Linie sondern bei allen
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: database am Februar 19, 2016, 20:13:49
Hi,

hast du das   Exit Sub  geschrieben?
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 19, 2016, 20:18:51
ja hab ich, es scheint als würde er jetzt einfach zum ErrHandler übergehen ohne dem Link überhaupt zu folgen
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: database am Februar 19, 2016, 20:23:31
Das kann ja nicht sein ...


Private Sub cmdBusGo_Click()
    Dim strPath As String, strFile As String, strFoundFile As String
    strPath = "http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/"
    strFile = Me.txtBus & ".pdf?v97"
    strFoundFile = strPath & strFile
   
    On Error GoTo ErrHandler
    Application.FollowHyperlink strFoundFile

    ProcExit:
    Exit Sub

    ErrHandler:
    MsgBox "Die eingegebene Linie existiert nicht!"
    Resume ProcExit

End Sub



Bau noch die beiden neuen Zeilen ein und spring dann mal mit F8 durch den Code - Haltepunkt bei 'Private Sub' setzen!
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 19, 2016, 20:31:29
Zitat von: database am Februar 19, 2016, 20:23:31
Bau noch die beiden neuen Zeilen ein und spring dann mal mit F8 durch den Code - Haltepunkt bei 'Private Sub' setzen!

Beide Zeilen sind eingebaut, aber mit F8 tut sich bei mir überhaupt nichts. Und auch der Dialog taucht noch bei allen Eingaben auf
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: database am Februar 19, 2016, 20:47:40
Hast du den Haltepunkt in der Zeile 'Private Sub cmdBusGo_Click()' gesetzt,
bleibt das Programm nach dem Klicken des Buttons dort stehen.
Mit F8 springst du dann bei jedem Drücken der Taste eine Zeile weiter.
So kannst du feststellen ob das 'Exit Sub' angesprungen wird oder nicht, auch ist zu sehen ob FollowHyperlink ausgeführt wird.

Und schreib bei der MsgBox noch folgendes dazu ...

    MsgBox "Die eingegebene Linie existiert nicht! - Fehlernummer: " & Err.Number

Mal sehen was da ausgegeben wird, wenn bei jeder Eingabe die Meldung kommt

Ach ja und 'On Error GoTo ErrHandler' verschiebst du gleich unter die Variablendeklaration, damit das Ding ganz am Anfang der Prozedur bekannt ist - so sollte dein Code dann aussehen:


Private Sub cmdBusGo_Click()
    Dim strPath As String, strFile As String, strFoundFile As String
    On Error GoTo ErrHandler
    strPath = "http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/"
    strFile = Me.txtBus & ".pdf?v97"
    strFoundFile = strPath & strFile
   
    Application.FollowHyperlink strFoundFile

    ProcExit:
    Exit Sub

    ErrHandler:
    MsgBox "Die eingegebene Linie existiert nicht! - Fehlernummer: " & Err.Number
    Resume ProcExit

End Sub



Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 20, 2016, 12:53:54
Also FollowHyperlink wird nicht ausgeführt, er übergeht es einfach und zeigt mir den Dialog mit der Fehlernummer 8

Damit das Formular jetzt trotzdem schon benutzbar ist habe ich alle neuen Codeteile wiedern entfernt, leider wird FollowHyperlink jetzt nicht mal mehr bei existierenden Linien ausgeführt...
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: MaggieMay am Februar 20, 2016, 19:21:50
Hallo,

und was passiert, wenn du "rgtr/" weglässt? So wie ich das sehe, gehört dieser Eintrag gar nicht zum Link.

klappt:
http://www.mobiliteit.lu/sites/default/files/horaires/l130.pdf?v97 (http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97)

klappt nicht:
http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97 (http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97)

BTW:
Was hat es mit dem Anhang "?v97" auf sich? In Wirklichkeit sind das doch immer verschiedene Nummern. Und ohne diesen Zusatz funktioniert es auch.
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 20, 2016, 19:39:28
Zitat von: MaggieMay am Februar 20, 2016, 19:21:50
klappt:
http://www.mobiliteit.lu/sites/default/files/horaires/l130.pdf?v97 (http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97)

klappt nicht:
http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97 (http://www.mobiliteit.lu/sites/default/files/horaires/rgtr/l130.pdf?v97)

Ok ich glaub ich spinne, als ich das ganze am Donnerstag versucht habe hat es mit rgtr/ geklappt

Zitat von: MaggieMay am Februar 20, 2016, 19:21:50
BTW:
Was hat es mit dem Anhang "?v97" auf sich? In Wirklichkeit sind das doch immer verschiedene Nummern. Und ohne diesen Zusatz funktioniert es auch.

Ja das sind verschiedene Versionen davon. Aber ob ich die Funktion jetzt mit rgtr/ oder ohne aufrufe, FollowHyperlink wird nicht ausgeführt, egal mit welcher Linie

Was die Sache allerdings jetzt völlig merkwürdig macht, ich habe gerade mit einem der User gesprochen, bei ihm funktioniert die Funktion, zwar die ohne den Dialog aber sie funktioniert wenigstens...
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: database am Februar 20, 2016, 21:50:20
Hello,

könnte sein, dass deine Version des Frontends abgeschossen ist.
Hol dir eines von einem User und versuche dann den Dialog einzubauen.

Du KÖNNTEST auch versuchen eine neue leere DB zu erstellen und alle Objekte des nicht funktionierenden Frontends in diese zu importieren.
Vorgänge eine nicht funktionierende Datei zu retten oder zu reparieren sind in diesem Forum schon X-mal behandelt worden.
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: MaggieMay am Februar 20, 2016, 22:49:59
Hallo Senate1987,

sehe ich das richtig, dass dein Problem mit dem eigentlichen Thema "Webbrowser-Steuerelement" nichts zu tun hat?

Ich habe beide Versionen getestet, die von dir zuerst eingestellte und die letzte von database (welche ja im Prinzip nichts anderes macht) und beides läuft auf denselben Fehler:
ZitatEin unerwarteter Fehler ist aufgetreten

Allerdings kam vorher die folgende (IE) Warnung:
Zitat---------------------------
Microsoft Office
---------------------------
Öffne http://www.mobiliteit.lu/sites/default/files/horaires/l130.pdf?v97

Einige Dateien können Viren enthalten oder Ihren Computer in anderer Weise beschädigen.
Es ist wichtig sicherzustellen, dass diese Datei aus einer vertrauenswürdigen Quelle stammt.

Möchten Sie diese Datei öffnen?


---------------------------
OK   Abbrechen   
---------------------------

Wie kann man die denn wohl abschalten?



Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: Senate1987 am Februar 21, 2016, 13:41:50
Mein Problem hatte eigentlich nur mit dem Runtime Erroe bei nicht existierenden Linien zu tun.
Jetzt klappt aber alles so wie es soll, ich habe im Code nur die Zeilenumbrüche entfernen müssen.

Vielen Dank für eure Hilfe, ohne die bin ich wohl noch komplett aufgeschmissen ;)
Titel: Re: pdf-Datei in Webbrowsersteuerelement
Beitrag von: MaggieMay am Februar 21, 2016, 20:07:31
Hallo,
Zitat von: Senate1987 am Februar 21, 2016, 13:41:50
ich habe im Code nur die Zeilenumbrüche entfernen müssen.
Zeilenumbrüche im Code? - Davon war hier nichts zu sehen!