Bilder in Access Datenbank

Hallo liebe Wissende,

ich baue eine kleine DB mit Immobilienobjekten und möchte gerne ein Bild zu jedem Objekt anzeigen. Ist dies möglich und wenn ja, wie geht es?

Danke

Jörg

Hallo.

ich baue eine kleine DB mit Immobilienobjekten und möchte
gerne ein Bild zu jedem Objekt anzeigen. Ist dies möglich und
wenn ja, wie geht es?

Es ist möglich. Gut, nich’?

Die Vorgehensweise mit Speicherung in der DB (Achtung, nicht empfehlenswert!) : Du legst in Deiner Tabelle ein zusätzliches Feld an, das Du als OLE-Feld, also Objektfeld, anlegst. Hier kannst Du für jeden Datensatz ein Bild entweder per Copy & Paste einstellen oder auch einen Pfad per Verknüpfung hinterlegen. Der - m.E. fatale - Nachteil bei dieser Vorgehensweise, weshalb ich sie auch nicht weiter erkläre, ist, dass Deine DB extrem schnell auf exorbitante Größe anschwillt. Das liegt grob gesagt daran, dass bei jedem Aufruf eine neue Kopie des OLE- Eumels angefertigt wird.

Ich gehe so vor, dass ich nur einen Dateipfad als Hyperlink in die Tabelle lege. Du legst wie oben ein zusätzliches Feld in Deiner Tabelle an, definierst es jedoch als Hyperlink. Dann kannst Du in jedem Datensatz einen Pfad zu der betreffenden Bilddatei ablegen (z.B. C:\Verzeichnis\nochnVerzeichnis\nochnVerzeichnis\DoofeFotos\MeinPassbild.jpg). Das hat gleich mehrere Vorteile : Zum einen musst Du Dich nicht mit der Größe der DB herumärgern, zum anderen besorgt Windoof die Verknüpfung mit dem passenden Anwendungsprogramm selbst. Nachteil : Den Hyperlink musst Du aktivieren, bevor Du das Bild siehst.

Gruß kw

Bilder in Access Datenbank - Report
Danke für die schnelle Antwort,

so wie ich es sehe ist Teil 2 ist aber nicht möglich, wenn ich in einem Report beim Druck zu jedem Objekt ein Bild haben will. Geht das mit Teil 1 Deiner Lösung?

Gruss

Jörg

Die Vorgehensweise mit Speicherung in der DB (Achtung, nicht
empfehlenswert!) : Du legst in Deiner Tabelle ein zusätzliches
Feld an, das Du als OLE-Feld, also Objektfeld, anlegst. Hier
kannst Du für jeden Datensatz ein Bild entweder per Copy &
Paste einstellen oder auch einen Pfad per Verknüpfung
hinterlegen. Der - m.E. fatale - Nachteil bei dieser
Vorgehensweise, weshalb ich sie auch nicht weiter erkläre,
ist, dass Deine DB extrem schnell auf exorbitante Größe
anschwillt. Das liegt grob gesagt daran, dass bei jedem Aufruf
eine neue Kopie des OLE- Eumels angefertigt wird.

Ich gehe so vor, dass ich nur einen Dateipfad als Hyperlink in
die Tabelle lege. Du legst wie oben ein zusätzliches Feld in
Deiner Tabelle an, definierst es jedoch als Hyperlink. Dann
kannst Du in jedem Datensatz einen Pfad zu der betreffenden
Bilddatei ablegen (z.B.
C:\Verzeichnis\nochnVerzeichnis\nochnVerzeichnis\DoofeFotos\MeinPassbild.jpg).
Das hat gleich mehrere Vorteile : Zum einen musst Du Dich
nicht mit der Größe der DB herumärgern, zum anderen besorgt
Windoof die Verknüpfung mit dem passenden Anwendungsprogramm
selbst. Nachteil : Den Hyperlink musst Du aktivieren, bevor Du
das Bild siehst.

Gruß kw

Hallo.

so wie ich es sehe ist Teil 2 ist aber nicht möglich, wenn ich
in einem Report beim Druck zu jedem Objekt ein Bild haben
will. Geht das mit Teil 1 Deiner Lösung?

Ja, das geht : Du kannst Dein OLE- Feld als Objektfeld in den Bericht einbauen.

Wenn Du die Lösung nach Ad eins bevorzugst, dann mach Dir aber vor allem Gedanken über das Komprimieren deiner DB. Ich setze jetzt einfach mal voraus, dass Du Frontend und Backend voneinander trennst; sorge bitte für eine Überwachung der Größe beider DB und lasse Dich poppen :wink: nämlich up, wenn die Größe über ein bestimmtes Maß hinausgeht. Für eine Mehrplatzanwendung ist die Speicherung von OLE- Feldern noch weniger geeignet, als Access von Haus aus schon, sei noch am Rande des Teiches bemerkt.

Zum Blähungssyndrom bei OLE unter Access hat Karl Donaubauer auch einiges geschroben. Schau mal unter http://www.donkarl.com/ FAQ 1.22 und 2.2.

Gruß kw

Hallo,

Es ist möglich. Gut, nich’?

Warum soll das nicht gut sein? Habe in einer DB gescannte Bilder als Hyperlink hinterlegt. Klappt einwandfrei!

Viele Grüße Himbeereis