Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: naschbet am Dezember 01, 2022, 21:48:24

Titel: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 01, 2022, 21:48:24
Hallo,
es geht um die Erstellung eines EPC-QR-Code in einem Bericht.
Ich lasse durch eine Abfrage durch eine Abfrage die entsprechende URL für die Erstellung des QR-Code erstellen (zB. https://epc-qr.eu/?iban=NL40INGB0000026363&euro=10,0&bname=KNRM&info=Spontane%20Donatie&logo=knrm&colour=orange).

Jetzt versuche ich, bei einem Bericht, genau diese URL darzustellen, da sich diese URL bei jeder Rechnung ändert, schaffe ich es nicht, dass beim Bericht die entsprechende URL dargestellt wird.

Hat dafür jemand eine Idee, wie das gelöst werden könnte?
Danke
Thomas
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 02, 2022, 07:09:17
Erste Idee - WebSteuerelement - geht bei einem Report nicht.
Bildsteuerelement habe ich nicht versucht, nehme aber an du weißt wie man damit umgeht.
Access und Web sind ja nicht grade Freunde - vermutlich muss man via externer Funktionen das Bild runterladen und dann den lokalen Pfad verwenden.

Für den Download gibts eh unzählige Beispiele. Eines davon:

https://www.vbarchiv.net/tipps/tipp_476-datei-download-via-api-funktion.html

Viel Erfolg.
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 05, 2022, 11:02:55
Hi, danke, sieht gut aus 👍

Noch jemand eine Idee wie ich in die

sUrl "www.xxxxxxx"

mein Ergebnis von der Abfrage "Rechnung" Feld "SEPA" einfügen kann?(da sind die unterschiedlichen URL hinterlegt).

Danke
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 06, 2022, 14:05:18
@naschbet,
wo hakt es in der Umsetzung?
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 06, 2022, 14:44:40
Hallo,
Ich kann eine fixe surl in die VBA eintragen, das klappt, aber ich weiss nicht, wie ich es schaffe, wenn die surl sich immer ändert und die entsprechende Adresse verwendet werden soll. Ich habe eben in der Abfrage Rechnung das Feld SEPA und in diesem Feld steht jeweils die entsprechende Internetadresse für den Download.
Danke
Thomas
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 06, 2022, 17:50:06
Hallo Thomas, man kann da verschiedene Wege gehen.
Wenn es pro Report nur ein Bild geben kann könnte man folgenden Weg gegen:

Im Report wird im Bild Steuerelement auf einen Fixen Pfad verwiesen.
Dann wird vor dem öffnen des Reports das aktuelle Bild mit dem Neuen überschrieben und das wars.
Die erforderlich Url kannst du z.B. per Dlookup auslesen.

Falls du das nicht umsetzen kannst, dann zeig mal deinen aktuellen Versuch dazu - damit ersichtlich wird wo du hängst.
Wichtig ist im Vorfeld nur, dass der Download mal grundlegend funktioniert.

Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 06, 2022, 20:52:36
Hi Markus,
danke für deine Antwort. Also ich versuche eben gerade einen Report mit dem SEPA-Code generieren; muss aber echt gestehen, dass das über mein Verständnis hinausgeht.
Jetzt funktioniert nämlich gar nix mehr wenn ich die VBA über eine Befehlschaltfläche ausführen möchte.
(Fehler bei Kompilieren (Sub oder Funktion nicht definiert)).
die Url habe ich zum Testen fix eingegeben, aber genau diese sollte ja über die Abfrage Rechnung mit dem Feld SEPA ausgefüllt werden.
Wenn das zu kompliziert ist - bin ich dir gar nicht böse! es gibt ja den etwas umständlichen Weg auch noch (selbst downloaden und speichern).
Danke
Thomas


Private Sub SEPA_EPCQR_Click()

Dim lresult As Long
Dim surl As String
Dim sLocalFile As String

 
' URL-Link der Datei, die heruntergeladen werden soll
surl = "https://epc-qr.eu/?iban=NL40INGB0000026363&euro=10,0&bname=KNRM&info=Spontane%20Donatie&logo=knrm&colour=orange"
 
' Dateiname auf dem lokalen System
sLocalFile = "C:\Users\kufst\Downloads\SEPA.gif"
 
' Download ausführen
Screen.MousePointer = vbHourglass
lresult = URLDownloadToFile(0, surl, sLocalFile, 0, 0)
Screen.MousePointer = vbNormal
 
' Rückgabewert auswerten
If lresult = 0 Then
  MsgBox "Download erfolgreich ausgeführt!"
Else
  MsgBox "Fehler beim Download: " & _
   "Entweder existiert die URL nicht, oder Sie haben " & _
   "einen ungültigen Dateinamen angegeben!", vbCritical
End If



End Sub
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 07, 2022, 11:33:55
Zitat von: naschbet am Dezember 06, 2022, 20:52:36(Fehler bei Kompilieren (Sub oder Funktion nicht definiert)).

Dann hast du wohl die dll nicht eingebunden, so wie im Beispiel gezeigt.

Schau dir mal diese Abhandlung an, damit du ein Gefühl für die Materie bekommst:

https://www.vba-tutorial.de/api/declare.htm


Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 09, 2022, 20:16:01
Hallo Markus,

danke für die ganzen Tips.....

leider bin ich nicht ganz erfolgreich gewesen; noch kurioser für mich, die VBA (Attachment) funktioniert in der Arbeit, aber nicht bei mir zu Hause....

Trotzdem, danke für die Hilfeversuche!

Thomas
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 09, 2022, 21:08:06
Zitat von: naschbet am Dezember 09, 2022, 20:16:01leider bin ich nicht ganz erfolgreich gewesen

Bedeutet was genau?
Hast du eh ein 32 Bit Access?

Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 09, 2022, 21:36:11
Nein, ist eine 64 Bit Version
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 09, 2022, 21:39:49
Die Fehlermeldung lautet...Fehler beim Kompilieren, sub oder Funktion nicht definiert.....
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 10, 2022, 12:25:40
Zitat von: naschbet am Dezember 09, 2022, 21:39:49Die Fehlermeldung lautet...Fehler beim Kompilieren, sub oder Funktion nicht definiert.....

Was passiert, wenn du die Zeile mit dem Download Code auskommentierst?
Ich würde die selbe Fehlermeldung weiterhin erwarten, denn die Funktion ist ja vorhanden und Schreibfehler kann ich so keinen sehen.

Verwendest du beim Coden Intellisense, und Option Explicit und compilierst du neuen Code vor der Nutzung?
Weil normalerweise merkt man doch schon beim Coden, wenn eine Prozedur/Funktion nicht vorhanden ist.

Edit: Die Deklaration ist so nicht ganz korrekt, wenn er auch mit 64 Bit laufen soll, sollte er so aussehen:
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" ( _
  ByVal pCaller As LongPtr, _
  ByVal szURL As String, _
  ByVal szFileName As String, _
  ByVal dwReserved As Long, _
  ByVal lpfnCB As LongPtr) As Long

 
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: Beaker s.a. am Dezember 10, 2022, 12:30:14
Hallo Thomas,
Zitataber ich weiss nicht, wie ich es schaffe, wenn die surl sich immer ändert und die entsprechende Adresse verwendet werden soll.
Das ist doch nur ein String, den du beliebig zusammensetzen kannst; -
schaust du hier (https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/ampersand-operator).

gruss ekkehard
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 11, 2022, 11:42:29
Hi Markus,

jetzt mal eine erfreuliche Nachricht :-)
ich habe gestern nochmal alles "neu" geschrieben (die gleiche Codeabfolge wie gezeigt) und es der Download hat funktioniert *juhu*.
Dann hab ich noch Dlookup für die surl eingefügt und es klappt genau so, wie ich mir das vorgestellt habe.

VIELEN Dank für die Unterstützung!!!
Thomas
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: markusxy am Dezember 11, 2022, 21:19:20
Schön, dass es klappt.
Was war jetzt überhaupt das Problem?
Titel: Re: Bild von URL im Bericht darstellen
Beitrag von: naschbet am Dezember 30, 2022, 07:37:20
Hi, sorry, die Antwort habe ich übersehen; ich glaube, das Problem bestand am Ende darin, dass ich einen Teil von der vba auf einem anderen Rechner programmiert habe (auch eine andere Accessversion, andere Programmversion) und dann den Inhalt einfach umkopiert habe;
LG Thomas