Access Datenbank Bilder mit variabler Grösse

Hallo

Ich möchte in meiner Access-Datenbank Bilder einfügen mit dem Feld „OLE“ oder „Anlage“. Wichtig ist dabei, dass die Originalgrösse (Breite/Höhe) der Bilder nicht standardisiert werden soll, d.h. die Bildbreite/Bildhöhe soll variabel bleiben und auch im Bericht in Originalgrösse erscheinen.

Kann mir jemand helfen?
Herzlichen Dank
Macivita

Hallo Macivita,

leider hast Du keine Access-Version angegeben. Daher bezieht sich meine Antwort auf Access 2007/2010.

Du kannst Bilder sowohl direkt in einer Tabelle speichern (als OLE-Objekt) oder nur den Pfad dorthin (ale einfaches Textfeld). Access ist es egal. Die DB wird nur (wesentlich) größer, wenn die Bilder darin gespeichert werden.

Die variable Darstellung der Bilder scheint das eigtl. Problem zu sein. Das lässt sich nur mittels VBA lösen.

Für das Bild-Steuerelement (als BoundObjectFrame-Objekt) lässt sich die Eigenschaft SizeMode = acOleSizeZoom setzen. Wie das konkret funktioniert, wird hier beschrieben:
http://msdn.microsoft.com/en-us/library/ff192095.aspx

Das dortige Beispiel bezieht sich zwar auf ein Excel-Dokument, sollte sich aber leicht anpassen lassen.

Ich hoffe, das hilft Dir weiter.

Peter

Hallo Macivita,

dabei kann ich dir leider nicht weiter helfen.

Gruß Horst

Hallo,

in dieser Richtung - also mit Bildern - habe ich leider keine Erfahrung. Da müsste ich mich selbst erst einarbeiten. Tut mir leid.

Gruß
Uli

Hallo Macivita,
hier einige Anweisungen wie es gehen kann,leider kann ich ich keine Bilder dazu liefern.
wenn diese erwünscht sind E-Mail senden.

Gruß Bernd

Bilder als OLE-Objekt in einer Tabelle speichern
Am einfachsten und schnellsten machen Sie Ihre Bilder in Access verfügbar, wenn Sie diese einfach in einem Feld mit dem Datentyp OLE-Objekt speichern. Dazu gehen Sie folgendermaßen vor:

Legen Sie in einer Tabelle ein Feld mit dem Datentyp OLE-Objekt an.
Wechseln Sie in die Datenblattansicht der Tabelle.
Klicken Sie mit der rechten Maustaste in das OLE-Feld und wählen Sie den Eintrag Objekt einfügen aus dem Kontextmenü aus (siehe Abbildung 1).
Wählen Sie im nun erscheinenden Dialog die Option Aus Datei erstellen aus und geben Sie den Dateinamen der einzufügenden Datei an (siehe Abbildung 2).

Abbildung 1: Einfügen eines Objekts in ein OLE-Feld

Verknüpfen oder nicht verknüpfen?
Der Dialog aus Abbildung 2 enthält ein Kontrollkästchen, mit dem angegeben werden kann, ob die Bilddatei verknüpft werden soll oder nicht. In beiden Fällen werden die Daten im Bitmap-Format in der Datenbank gespeichert. Wenn die verknüpften Daten auch noch auf der Festplatte vorliegen, verlieren Sie gegebenenfalls eine Menge Speicherplatz. Wenn Sie eine Bilddatei durch eine Verknüpfung einbinden möchten, sollten Sie sollten Sie also besser darauf verzichten, die Bilddatei in einem OLE-Feld zu speichern und stattdessen nur den Bildpfad speichern. Auf diese Weise behalten Sie auch den Vorteil, dass auf der Festplatte geänderte Daten auch in der Datenbank geändert angezeigt werden. Wie die Anzeige von Bilddateien funktioniert, die über die Angabe des Pfades nur quasi mit der Datenbank verknüpft sind, erfahren Sie im zweiten Teil dieser Beitragsserie.

Abbildung 2: Auswahl der einzufügenden Datei

Die Tabelle zeigt nun im Feld Bild den Eintrag Bitmap an, falls Sie eine Grafikdatei eingefügt haben. Wenn Sie nun erneut das Kontextmenü des Feldes Bild auswählen, finden Sie einen neuen Eintrag mit mehreren Untereinträgen vor: Über den Eintrag Bitmap-Objekt können Sie nun die drei Befehle Bearbeiten, Öffnen und Konvertieren… auswählen.

Anzeige von Bildern im Formular
Um die in der Tabelle als OLE-Objekt gespeicherten Bilder in einem Formular anzuzeigen, gehen Sie folgendermaßen vor:

Öffnen Sie ein neues Formular in der Entwurfsansicht.
Stellen Sie die Eigenschaft Datenherkunft auf die Tabelle tblBilderOLE ein.
Ziehen Sie alle Felder der Tabelle aus der Wertliste in den Detailbereich des Formulars.
Das Formular sieht nun wie in Abbildung 3 aus. Mit einem Doppelklick können die Bilder bearbeitet werden; neue Bilder fügen Sie in leeren Datensätzen über den entsprechenden Eintrag des Kontextmenüs ein.

Abbildung 3: Ein als OLE-Objekt gespeichertes Bild im Formular

Einfügen per Schaltfläche
Wenn der Benutzer nicht den Umweg über das Kontextmenü des OLE-Feldes gehen soll, um ein Bild einzufügen, können Sie ihm zu diesem Zweck eine Schaltfläche zur Verfügung stellen. Legen Sie für die Ereigniseigenschaft Beim Klicken die folgende Prozedur an:

Private Sub cmdBildEinfuegen_Click()

On Error Resume Next

Me!Bild.Action = acOLEInsertObjDlg

End Sub

Die zweite der beiden Anweisungen öffnet den Dialog aus Abbildung 2 und speichert das ausgewählte Bild in der dem Bildsteuerelement zugrundeliegenden Datenherkunft. Die erste Anweisung sorgt dafür, dass der beim Abbrechen dieses Dialoges ausgelöste Fehler nicht angezeigt wird.

Hallo,
leider kann ich momentan nicht weiterhelfen da ich nur sehr selten an einen Online-Zugang komme. Bitte wende Dich an jemand anderen.
Viel Glück beim loösen deines Problems.

Hallo,

leider hab ich hierzu keine Erfahrungswerte weiterzugeben.

sg
Stefan

Hallo,

leider kann ich Ihnen bei diesem Problem nicht helfen.
Ich habe keine Vorstellung wie dieses lösbar ist.

Viele Grüße Harald

Moin,

ich habe da auch vor längerem mal etwas probiert und auch keine Lösung gefunden.

Sorry, habe keinen Tip für Dich.

Gruß
Leo

In der Entwurfsansicht eines Formulars können bei dem Bild unter Eigenschaften nur 3 Einstellungen vorgenommen werden:
zoomen
dehnen
abschneiden

Eine andere Möglichkeit ist mir nicht bekannt.
mfg - gvp