Im Bericht Bild mit Pfad einfügen
Moderator: Moderatoren
Im Bericht Bild mit Pfad einfügen
Hallo zusammen,
ich habe eine Datenbank, die u.a. die Pfade zu Bildern enthält.
Nun möchte ich in einem Bericht nicht die Pfade stehen haben sondern wieder die Bilder sehen / ausdrucken.
Ich bekomme es nicht hin! Geht das überhaupt?
Wenn ich ein "Grafic" in den Bericht einfüge, finde ich keine Möglichkeit diesem Steuerelement mitzuteilen, dass im Feld "Bild" der Pfad zum anzuzeigenden Bild zu finden ist.
Evtl. hat einer von Euch ja eine Idee oder sogar eine Lösung.
Dank und Gruß
Lars
alias Blechdose
ich habe eine Datenbank, die u.a. die Pfade zu Bildern enthält.
Nun möchte ich in einem Bericht nicht die Pfade stehen haben sondern wieder die Bilder sehen / ausdrucken.
Ich bekomme es nicht hin! Geht das überhaupt?
Wenn ich ein "Grafic" in den Bericht einfüge, finde ich keine Möglichkeit diesem Steuerelement mitzuteilen, dass im Feld "Bild" der Pfad zum anzuzeigenden Bild zu finden ist.
Evtl. hat einer von Euch ja eine Idee oder sogar eine Lösung.
Dank und Gruß
Lars
alias Blechdose
Re: Im Bericht Bild mit Pfad einfügen
Hallo Lars,
was für eine Office-Version hast Du denn? Ich habe das gerade in einer Beispieldatenbank für das handbuch noch einmal getestet. Da wird sehr wohl das Bild aus einem Pfad heraus geladen. Das Bericht-Steuerelement heißt "Grafik", in den Eigenschaften → Daten habe ich das entsprechende Feld aus meiner Tabelle ausgewählt, das so einen Pfad enthält. Funktioniert bei *.jpg, *.png und lässt eine *.pdf-Datei, die ich da auch abgelegt habe, mit einer Fehlergrafik erscheinen.
Gruß
Robert
was für eine Office-Version hast Du denn? Ich habe das gerade in einer Beispieldatenbank für das handbuch noch einmal getestet. Da wird sehr wohl das Bild aus einem Pfad heraus geladen. Das Bericht-Steuerelement heißt "Grafik", in den Eigenschaften → Daten habe ich das entsprechende Feld aus meiner Tabelle ausgewählt, das so einen Pfad enthält. Funktioniert bei *.jpg, *.png und lässt eine *.pdf-Datei, die ich da auch abgelegt habe, mit einer Fehlergrafik erscheinen.
Gruß
Robert
Re: Im Bericht Bild mit Pfad einfügen
Hallo Robert,
ich hab die Version 4.1.4.2.
Das Steuerelement habe ich im Bericht über einen Button eingefügt der ein weißes Blatt (mit Eselsohr oben links) darauf sich gegenseitig überlagernd einen gelben Kreis, ein rotes Viereck und ein blaues Dreieck zeigt und den Ballontip "Grafic" zeigt.
In den Eigenschaften dazu habe ich auf dem Register "Daten" unter "Datenfeld-Typ" "Feld oder Formel" und unter "Datenfeld" "Bild" eingetragen.
Öffne ich dann diesen Bericht kommt die Fehlermeldung
"Das Dokument 'xyz' konnte nicht geöffnet werden.
Illegal charakter in opaque part at index 2:
F:\MEC\Test.jpg"
Wenn ich in der zugehöriogen Tabelle den Pfad löschen, kommt der Fehler beim zweiten Datensatz.
Evtl. stimmt also was mit der Pfadangabe nicht, auch wenn diese für die Anzeige der Bilder in einem Formular funktioniert.
Gruß Lars
ich hab die Version 4.1.4.2.
Das Steuerelement habe ich im Bericht über einen Button eingefügt der ein weißes Blatt (mit Eselsohr oben links) darauf sich gegenseitig überlagernd einen gelben Kreis, ein rotes Viereck und ein blaues Dreieck zeigt und den Ballontip "Grafic" zeigt.
In den Eigenschaften dazu habe ich auf dem Register "Daten" unter "Datenfeld-Typ" "Feld oder Formel" und unter "Datenfeld" "Bild" eingetragen.
Öffne ich dann diesen Bericht kommt die Fehlermeldung
"Das Dokument 'xyz' konnte nicht geöffnet werden.
Illegal charakter in opaque part at index 2:
F:\MEC\Test.jpg"
Wenn ich in der zugehöriogen Tabelle den Pfad löschen, kommt der Fehler beim zweiten Datensatz.
Evtl. stimmt also was mit der Pfadangabe nicht, auch wenn diese für die Anzeige der Bilder in einem Formular funktioniert.
Gruß Lars
Re: Im Bericht Bild mit Pfad einfügen
Hallo Lars,
wie gibst Du den Pfad ein? Bei mir (unter Linux) ist das kein Problem im Formular und im Report-Builder. Wäre natürlich blöd, wenn für den Report-Builder unter Windows andere Pfadangaben nötig wären als für das Formular. Unter Linux ist weder ein Backslash noch eine Eingabe der Partition mit einem Doppelpunkt üblich.
Gruß
Robert
wie gibst Du den Pfad ein? Bei mir (unter Linux) ist das kein Problem im Formular und im Report-Builder. Wäre natürlich blöd, wenn für den Report-Builder unter Windows andere Pfadangaben nötig wären als für das Formular. Unter Linux ist weder ein Backslash noch eine Eingabe der Partition mit einem Doppelpunkt üblich.
Gruß
Robert
Re: Im Bericht Bild mit Pfad einfügen
Hallo Robert,
ich gebe den Pfad per Dateiauswahlwerkzeug in einem Formular ein. Dieses trägt den ausgewählten Pfad mit folgendem Makro in das entsprechende Datenbankfeld ein:
In der Tabellen-Ansicht stellt sich der Pfad dann wie folgt dar:
F:\MEC\Bild1.jpg
Mit einem solchen Pfad funktioniert die Darstellung der Bilder in einem Bericht nicht (wie zuvor beschrieben)!
Mit folgendem Code wird im Formular das Bild angezeigt:
Ändere ich in der Tabelle den Pfad zu
Bild1.jpg
dann funktioniert das Erstellen des Berichts, die Anzeige im Formular nicht mehr!
Gruß Lars
alias Blechdose
ich gebe den Pfad per Dateiauswahlwerkzeug in einem Formular ein. Dieses trägt den ausgewählten Pfad mit folgendem Makro in das entsprechende Datenbankfeld ein:
Code: Alles auswählen
Sub PfadSpeichern (event)
sPath = event.source.Text
oForm = event.source.model.parent
oForm.getByName("Dateiname").text = sPath
oForm.getByName("Dateiname").commit(true)
End Sub
F:\MEC\Bild1.jpg
Mit einem solchen Pfad funktioniert die Darstellung der Bilder in einem Bericht nicht (wie zuvor beschrieben)!
Mit folgendem Code wird im Formular das Bild angezeigt:
Code: Alles auswählen
Sub Get_Image_Name
Dim ImageName_Ctrl as Object
Dim sImageName as String
on error goto weiter
GlobalScope.BasicLibraries.LoadLibrary("Tools")
oDoc = thisComponent
DB_URL =convertfromurl(oDoc.Parent.URL)
DB_Path = DirectoryNameoutofPath(DB_URL,"\")
oForm = oDoc.drawpage.forms.getbyindex(0)
ImageName_Ctrl = oForm.getByName("Dateiname")
ImageName_Ctrl.commit(true)
sImageName = ImageName_Ctrl.Text
Image_Ctrl = oForm.getByName("Bild")
imagePath = converttourl(sImageName)
if not FileExists(imagePath) then
imagePath = converttourl(DB_Path & "\" & "NoImage" & ".jpg")
end if
Image_Ctrl.ImageURL = imagePath
Image_Ctrl.commit(true)
weiter:
End Sub
Bild1.jpg
dann funktioniert das Erstellen des Berichts, die Anzeige im Formular nicht mehr!
Gruß Lars
alias Blechdose
Re: Im Bericht Bild mit Pfad einfügen
Hallo Lars,
hast Du einen bestimmten Grund, warum Du das alles mit Makros machst? Ich habe hier das grafische Kontrollfeld einfach mit einem Textfeld in der Datenbankdatei verbunden. Starte ich das Formular und mache einen Doppelklick auf das grafische Kontrollfeld, so kann ich eine Grafik einfügen. Es wird aber nur der relative Pfad gespeichert. Das funktioniert einwandfrei - ohne Makro.
Makros habe ich in die Beispieldatenbank nur eingebaut, um das Bild z.B. in einem externen Editor zu betrachten oder die Bildaufnahme zusammen mit einen Tabellenkontrollfeld auch möglich zu machen. Sonst gehört die Aufnahme aber zum Standard von Base.
Noch ein kleiner Hinweis: Du nimmst die URL mit einem Makro auf, ohne sie in eine für Base gültige URL zu überführen. Die gültige URL erstellst Du erst, wenn Du den Pfad ausliest - mit ConvertToUrl machst Du aus so etas wie "C:\Bild\Test.jpg" ein file:///c:/Bild/Test.jpg. Du solltest, wenn Du schon den absoluten Pfad mit einem Makro speichern willst, doch tunlichst die URL speichern, die auch direkt gelesen werden kann - sowohl vom Formular als auch vom Bericht. Dann kannst Du Dir das Umwandeln und all den Ärger sparen.
Gruß
Robert
hast Du einen bestimmten Grund, warum Du das alles mit Makros machst? Ich habe hier das grafische Kontrollfeld einfach mit einem Textfeld in der Datenbankdatei verbunden. Starte ich das Formular und mache einen Doppelklick auf das grafische Kontrollfeld, so kann ich eine Grafik einfügen. Es wird aber nur der relative Pfad gespeichert. Das funktioniert einwandfrei - ohne Makro.
Makros habe ich in die Beispieldatenbank nur eingebaut, um das Bild z.B. in einem externen Editor zu betrachten oder die Bildaufnahme zusammen mit einen Tabellenkontrollfeld auch möglich zu machen. Sonst gehört die Aufnahme aber zum Standard von Base.
Noch ein kleiner Hinweis: Du nimmst die URL mit einem Makro auf, ohne sie in eine für Base gültige URL zu überführen. Die gültige URL erstellst Du erst, wenn Du den Pfad ausliest - mit ConvertToUrl machst Du aus so etas wie "C:\Bild\Test.jpg" ein file:///c:/Bild/Test.jpg. Du solltest, wenn Du schon den absoluten Pfad mit einem Makro speichern willst, doch tunlichst die URL speichern, die auch direkt gelesen werden kann - sowohl vom Formular als auch vom Bericht. Dann kannst Du Dir das Umwandeln und all den Ärger sparen.
Gruß
Robert
Re: AW: Im Bericht Bild mit Pfad einfügen
Hallo Robert,
Ich habe keinen "speziellen" Grund es genauso zu machen. Als am letzten Wochenende etwas freie Zeit und die Idee so eine Lernkarten-Datenbank zu erstellen aufeinander trafen, waren das halt die ersten Versuche, die ich mir aus mehreren Forenbeiträge zusammen basteln könnte. Deshalb bin ich Dir sehr dankbar, dass Du Dir die Mühe machst diese meine Stümpereien zu hinterfragen. Wenn das ohne Makros geht soll mir das nur Recht sein. Werde mir jetzt mal RTFM hinter die Ohren schreiben und 'Dein' Basehandbuch samt Beispielen mal Durchlesen, bevor ich hier weiter rumstümper.
Gruß Lars
Alias Blechdose
Ich habe keinen "speziellen" Grund es genauso zu machen. Als am letzten Wochenende etwas freie Zeit und die Idee so eine Lernkarten-Datenbank zu erstellen aufeinander trafen, waren das halt die ersten Versuche, die ich mir aus mehreren Forenbeiträge zusammen basteln könnte. Deshalb bin ich Dir sehr dankbar, dass Du Dir die Mühe machst diese meine Stümpereien zu hinterfragen. Wenn das ohne Makros geht soll mir das nur Recht sein. Werde mir jetzt mal RTFM hinter die Ohren schreiben und 'Dein' Basehandbuch samt Beispielen mal Durchlesen, bevor ich hier weiter rumstümper.

Gruß Lars
Alias Blechdose
Re: Im Bericht Bild mit Pfad einfügen
Hallo Lars,
das müsste eigentlich hier drin enthalten sein:
https://wiki.documentfoundation.org/ima ... ng_V43.zip
Gruß
Robert
das müsste eigentlich hier drin enthalten sein:
https://wiki.documentfoundation.org/ima ... ng_V43.zip
Gruß
Robert