Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Hilfe bei "FollowHyerlink"

Begonnen von datekk, September 26, 2019, 13:34:35

⏪ vorheriges - nächstes ⏩

datekk

Hi,

ich möchte von Access aus eine Website öffnen. Das klappt bei "normalen Seiten ala http://www.access-o-mania.de" auch problemlos.

Ich möchte allerdings mit der URL Parameter übergeben. Diese Parameter enthalten u.a. Leerzeichen.

Beim Aufruf hängt sich Access erstmal eine weile fest und spuckt dann Fehler "490 - Datei konnte nicht geöffnet werden" aus.

Die URL mit debug.print ausgegeben und in den Browser reinkopiert klappt super, ohne Probleme.

Mit Replace die Leerzeichen durch %20 ersetzt... will FollowHyperlink auch nicht... gleicher Fehler...

Wie kann ich denn Access dazu bringen, diesen Link an den Browser zu übergeben und die Seite zu öffnen?

Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

PhilS

Zitat von: datekk am September 26, 2019, 13:34:35
Mit Replace die Leerzeichen durch %20 ersetzt... will FollowHyperlink auch nicht... gleicher Fehler...

Wie kann ich denn Access dazu bringen, diesen Link an den Browser zu übergeben und die Seite zu öffnen?
Gibt es evtl. weitere Sonderzeichen in der URL? - Stichwort: URLEncode
Kannst du einen konkreten Link als Beispiel posten?

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

@datekk
Versuche mal die Quotes zu maskieren
""" oder
""""
Bin mir nicht sicher; - das Direktfenster gibt in beiden Fällen ein einfaches "
zurück.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
oft hilft auch mit Chr(34) zu maskieren.
Gruß Klaus

datekk

Es sind gar keine Anführungszeichen im Code enthalten die maskiert werden müssten.

Hier der Link. Normale Zeichen durch '*' geschwärzt:

https://******.com/****-*****/*******?name=****%20******%20&email=*******@******.com&a1=**********%20******%20*****%20*******%20%20**********%20****%20*******%20******%20********&a2=**%20(*****)%20******

Der Link enthält keine Umlaute. Alle Sonderzeichen sind noch zu sehen. Leerzeichen durch %20 ersetzt.

Gäbe es noch eine Alternative zu "FollowHyperlink"?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

ZitatDie URL mit debug.print ausgegeben und in den Browser reinkopiert klappt super, ohne Probleme.

Kopiere danach die funktionierende URL aus dem Browser-Adressfeld und lege die als Literalstring im Code ab.

Ersetze manuell die darin enthaltenen Parameterwerte durch je einen individuellen Platzhalter (z. B "[Ort]") .

Ersetze sodann mit Replace die einzelnen Platzhalter durch die akt. Werte und  übergebe das Ergebnis an Followhyperlink.

strOrt="Musterstadt"
strUrl = Replace (strUrl, "[Ort]",strOrt)
FollowHyperlink strUrl


Alternative für Followhyperlink:  Shellexecute

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
wenn ich nicht irre, ist die Länge des Pfades mit Dateinamen auf 64 Zeichen beschränkt.
Das gilt glaube ich auch für Shellexecute, müsste man mal probieren.
Gruß Klaus

DF6GL

Hi,

Zitatdie Länge des Pfades mit Dateinamen
???
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
meinte natürlich nicht Pfad, sondern die komplette URL.
Es ist das Alter.  ;D
Gruß Klaus

DF6GL

Tja, solche Situationen kenne ich auch... :D
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Joss

Zitat von: DF6GL am Oktober 15, 2019, 10:52:42Alternative für Followhyperlink:  Shellexecute


Shellexecute findest du z.B. hier:
VBA Tipp: Anwendung mit ShellExecute starten

Gruß
Josef

Joss

@Klaus,

Zitat von: MzKlMu am Oktober 15, 2019, 10:56:33
wenn ich nicht irre, ist die Länge des Pfades mit Dateinamen auf 64 Zeichen beschränkt.


ich habe mal testweise einen Pfad zu einer Webseite mit 263 Zeichen mit der FollowHyperlink-Methode geöffnet.
Hat funktioniert.

Gruß
Josef

PhilS

Zitat von: datekk am Oktober 15, 2019, 10:41:53
Der Link enthält keine Umlaute. Alle Sonderzeichen sind noch zu sehen. Leerzeichen durch %20 ersetzt.
Die Klammern und das @-Symbol müssen meines Erachtens codiert werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

datekk

Das Problem lag bei Umlauten. Ich habe es wie folgt gelöst:




Sub OeffneLink(link as String)

Dim u1() as String
Dim u2() as String
Dim i as Integer

u1 = Split("ü,ä,ö,ß, ", ",")
u2 = Split("%C3%BC,%C3%A4,%C3%B6,%C3%9F,%20", ",")

For i = LBound(u1) To UBound(u2)

    link = Replace(link, u1(i), u2(i))

Next

FollowHyperlink link

End Sub
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

PhilS

Zitat von: datekk am Oktober 15, 2019, 10:41:53
Der Link enthält keine Umlaute.
Zitat von: datekk am November 26, 2019, 09:34:58
Das Problem lag bei Umlauten. Ich habe es wie folgt gelöst:
Nun ja, gut dass du das Problem lösen konntest.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor