Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

JPG-Bilder in einer Access Datenbank





Frage

Hallo, ich möchte (vereinfacht gesagt) einige jpg-Bilder in einer Access-Datenbank verwalten. Dazu habe ich eine Tabelle erstellt, ein Feld mit einem Autowert (Primärschlüssel), und ein Feld, welches als OLE-Objekt definiert ist. Für diese Tabelle lasse ich mir nun ein Autoformular erstellen. Nun folgende Resultate: Unter Acces 97 funktioniert´s. Ich kann Bilder einfügen, jedoch wird die Datenbank mega-groß. Ein 100k Bild vergrößert die Datenbank gleich um mehrere MB. Unter Access 2002 (XP) kann ich auch jpg-Bilder in das Feld einfügen, jedoch wird nur der Dateiname bzw. ein Symbol für die Datei angezeigt. Das Bild selbst bekomme ich nicht angezeigt (im gegensatz zu der 97er Version). Mit bmp-Bildern würde es fuktionieren, jedoch nicht mit jpg. Kann mir jemand einen Tip geben, wie man dies realisieren kann, dass ich jpg-Bilder in einer Access2002 Datenbank speichere, und gleichzeitig angezeigt bekomme ? In der Nordwind Datenbank gibt es dafür ein Beispiel, jedoch wird dort nur eine Pfadangabe in der Datenbank gespeichert, und nicht das Bild selbst. Von daher nicht wirklich hilfreich. Bin für jeden Tip dankbar !! Gruß Sven

Antwort 1 von gresti

Ich kann mir nicht vorstellen, das es Unterschiede zwischen Access 97 und 2002 bei der Verwaltung der *.jbg gibt.
Ich selbst arbeite unter 9.0. 3828 SR1 also das von Office 2000.
Und... da habe ich keine Probleme.

Gruß gresti

Antwort 2 von Lelleck

Hallo,
wie auch immer:
ich arbeite mit Access 2002 (XP), und wenn ich ein jpg-Bild in ein OLE-Objekt einfüge, bekomme ich es nur Symbolisch (bzw. den Dateinamen) angezeigt.

Dies möchte ich ändern. Die Frage ist nur: WIE ???

Antwort 3 von SEMK

Ich empfehle lieber die Bilder in einem separatem Verezeichnis anzulegen und die Verknüpfung mit Access zu verwalten, dann bläht sich die DB nicht auf und Du kannst mehrere 1000 Bilder ohne Probleme verwalten.

Viele Grüsse

Mark Klatt
http://www.semk.de

Antwort 4 von Schupo

WIe Bitte geht das?

Ich habe in der Tabelle den Hyperlink drin.
Und wenn ich im Formular nun schaue sehe ich den Hyperlink dort auch. Und wenn ich draufdrücke dann stellt er das Bild auch dar.
Aber ich will das gleich dargestellt bekommen.
Wie Geht das ?????

Danke im voraus.

Antwort 5 von .struppi

Hallo,
1.In Deiner Tabelle muß es eine Feld geben in dem der Pfad zum Bild steht.

2. Füge im Formular ein beliebiges Bild ein und stelle in dessen Eigenschaften den Bildtyp auf "Verknüpft"
Nenne das Bild "Bild1"

3. Füge in Dein Formular ein Textfeld ein und wähle als Daten für dieses Feld das neue Pfad-feld der Tabelle
Nenne das Textfeld "Text1" und setze die Eigenschaft "sichtbar" auf "Nein"

4. Dann gibst Du im Ereignis des Formulares "Beim Anzeigen" zwischen sub und end sub folgenden Code ein:

Private Sub Form_Current()

Bild1.Picture = Me.Text1

End Sub

Jetzt wird zu jedem Datensatz das entsprechende Bild angezeigt.

gruß struppi

Antwort 6 von Schupo

Danke Struppi Du scheinst davon ja ne Menge zu verstehen.

Also ich habe Punkt 1 & 2 & 3 ja ohne Probleme Ausführen können.
Bei Punkt 4 finde ich kein "Beim Anzeigen" nur "Beim Klicken" und ein Paar andere.

Ich habe übrigens Access2000.

Also ich habe dann
"Bild1.Picture = Me.Text1"
mal selber in den Code des Formulares gepackt. also fehler kamen da keine aber es wurde stehts immer das eine Bild ausgewählt und zwar das was ich bei Punkt 2 eingegeben habe.

In der Tabelle habe ich es erst als Hyperlink und dann als Text Feld versucht.

ALso ich bräuchte nochmal Deine Hilfe.


Vielen Dank im voraus....

Antwort 7 von PotzBlitz

Hallo Schupo,

mir scheint, dass du nicht wirklich die Eigenschaften des Formulars angezeigt bekommst.

Wenn du ein Formular im Entwurf geöffnet hast, dann siehst du für gewöhnlich ein leeres Raster (bei einem neuen Formular). Der gerasterte Bereich ist nicht das Formular an sich, sondern der Detailbereich innerhalb des Formulars. Hast du den ausgewählt, dann siehst du im Eigenschaftsfenster nur dessen Eigenschaften. Prüfe das nach, indem du dir die Überschrift des Eigenschaftsfensters anschaust, dort steht sicherlich "Bereich: Detailbereich".

Ziehe den Fensterrahmen des Formulars etwas grösser als den Detailbereich, so dass die leere und dunkle Fläche zum Vorschein kommt. DORT musst du draufklicken, wenn du die Eigenschaften des Formulars haben willst. Und hier befindet sich auch das Ereignis "Beim Anzeigen", von dem struppi gesprochen hat.

Immerhin gibt es noch zwei Möglichkeiten, wie man im Entwurf die Eigenschaften des Formulars bekommt:

Während des Formularentwurfs ist standardmäßig die Symbolleiste "Formularentwurf" sichtbar. Ganz links ist darin ein Kombinationsfeld mit allen Elementen, die dieses Formular besitzt. Wähle dort "Formular" aus.

Ein Formular hat im Entwurf zwei Lineale, waagerecht und senkrecht. Am Kreuzungspunkt beider Lineale links oben im Eck gib es ein kleines Quadrat. Wann du darauf klickst, dann erscheint innen drin ein kleineres, schwarzes Quadrat. Dann ist ebenfalls das Formular ausgewählt.

Sollte das Eigenschaftsfenster nicht angezeigt werden, dann muss bei Variante 1 und 3 ein Doppelklick anstatt eines einfachen Klicks ausgeführt werden oder im Menü "Ansicht" auf "Eigenschaften".

Wenn du dich erfolgreich für eine der drei Varianten entschieden hast, dann fahre fort mit struppi's Anleitung. :-)

Gruss
PotzBlitz

Antwort 8 von Schupo

OK jetz habe ich das "Beim Anzeigen" gefunden. Und habe das dort entsprechend eingetragen.

Ich bekomme nun aber eine Fehlermelung wenn ich das Formular aufrufe. Und zwar folgende.

http://www.gtt.info/fehler1.jpg

Und das Bild wird dann auch nicht angezeigt. Ich kann auch gerne die mdb rüberschicken. Aber eigentlich kann das ja nicht so schwer sein. ;-))


Was mach ich nun?



Antwort 9 von Schupo

Das "Bild1.Picture = Me.Text1" darf nicht direkt in die Ereigniszeile des
Eigenschaftsfenster eingetragen werden.

Sondern in den Code. Dann funktionierts auch. Hattestruppi aber bestimmt auch so gemeint, habs jetzt auch.

DANKE damit ist dieser Threat wohl geschlossen ;)


Man sieht sich im nächsten :-)


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: