Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Inventar mit Bilddarstellung

Begonnen von McVader, August 04, 2010, 09:38:54

⏪ vorheriges - nächstes ⏩

McVader

Hallo liebe Community!

Ich habe die SuFu genutzt, auch Einträge gefunden, aber aus denen werde ich nich schlau bzw. kann sie nicht weiter verwenden, deswegen dieser Thread.
Kurz zu mir: Habe nur simple Grundkentnisse in Access. Von Programmieren habe ich keine Ahnung. Finde es nebenbei Schade das der Sinn dieses Programms so kompliziert und benutzerunfreundlich dargestellt wird. Aber für Probleme gibt es ja Gott sei Dank solche Foren hier ...


Ich benutze Access 2003.


Mein Problem:

Ich will eine Datenbank für ein Museum anlegen. Dabei soll letztendlich ein Katalog entstehen ( als Formular) welcher Auskunft über die ID (Primärschlüssel), das baujahr, die kategorie, die Epoche, die Art des Objektes, den Namen, die Größe, besondere Merkmale, den Zustand, den Zeitraum des Besitzes, und ein Bild gibt.

Es ist sozusagen eine Inventarliste.


Beispiel:

ID:  1
Baujahr: 1890
Kategorie:  Inneneinrichtung Beginn Industriezeitalter
Epoche: --
Art des Objektes: Inneneinrichtung
Name: Küchenstuhl
Größe: Höhe 130 cm
Merkmale: Gebeitzt, braune Farbreste
Zustand: Gut
Im Besitz seit: 1995
Bild:   XXXXXXXX
         X            X
         X  0    0  X
         X     |      X
         X   ----    X
         XXXXXXXX


Dabei soll das Bild (hier das Gesicht) am rechten Formularrand auftauchen.

Die Bilddateien sind JPEG und sollen nach möglichkeit entweder direkt in der DB oder aber im selben Ordner wie die DB angelegt werden.

Angemerkt sei auch noch das in dem Formular, neue Datensätze erzeugt werden können. In dem Formular müsse also ein Button sein der es erlaubt neue Bilder hochzuladen...


Vielen Dank für eure Antworten ....

PS: Abfragen und Ausdrucke sollen hinterher anschalich möglich sein ...

T417

Ich glaube nicht, daß das so klappt wie du dir das vorstellst.
Das klappt alleine schon wegen den Speicherplatz nicht.

Mir fällt als Problemlösung nur ein, die Bilder mit Followhyperlink zu verknüpfen, sodaß beim klick auf ein Link, das Bild erscheint.

Vieleicht kann man das noch automatisieren, aber das könnte eine Menge Rechnenleistung kosten.
Arbeite normalerweise mit Access 2000/2003
In letzter Zeit häufiger mit Access 2007

Sowohl auf WinXP als auch auf Win7

Mc.Vader

Mh das wäre natürlich sehr schade. Es geht leider nur diese Version.

Wie sieht das mit ..Filemaker (?) bei Apple aus ?
Wäre es evtl dort möglich.

vielen dank für deinen Beitrag.

Lexboro

#3
Ich hab sowas schon mal gemacht aber mit geringerem Umfang.

Meine Lösung sah letztendlich so aus:
1. Alle Bilder (jpg, bmp, png...) sind in einem Ordner also nicht in der Datenbank selbst
2. Beim Anlegen eines Artikels wird ihm standardmäßig das jpg "Keine Abbildung vorhanden" zugewiesen
3. Die Zuordnung der Abbildungen zu einem Artikel wird über den Primärschlüssel der Artikeleinträge (Beschriftung) in einer Tabelle organisiert
4. Um ein schnelles "Blättern" vorwärts/rückwärts in der Datenbank zu ermöglichen, habe ich 100 jpg in eine Collection eingelesen
5. Bildunterschriften (Zuweisung über Primärschlüssel) sollten möglichst nicht geändert werden
6. Es wird zwingend ein einheitliches Bildformat verlangt (bei mir png)
7. Bilder werden bei Anzeige automatisch vergrößert/verkleinert

Von der Sache her ist es egal, ob die Bilder in der Datenbank liegen oder in einem Ordner. Wichtig ist doch nur, dass die Bilder sofort erscheinen, wenn Du den bestimmten Artikel hast.

Vielleicht hilft Dir ja das eine oder andere.

Gruß

database

#4
Hallo,

nana, mal langsam... 8)

so schlimm ist das nicht, es kommt nur auf's Gesamtkonzept an. ;)
Richtig ist, dass das Speichern von Bildern in der Datenbank nicht unbedingt das Gelbe vom Ei ist, was aber gleichzeitig nicht bedeutet, dass Projekte, die dieses Thema zur Grundlage haben mit anderen Entwicklungsumgebungen zu realisieren sind.

Man kann beispielsweise in den Formularen ganz kleine Bildchen anzeigen und via FollowHyperlink die Originaldatei zur Anzeige bringen.
Auch wäre das Speichern der Bilder in einer geeigneten Verzeichnisstruktur denkbar, wobei in der Datenbank lediglich die Pfade zur Bielddatei abgelegt werden.
Ob in dem Zusammenhang dann wiederum Thumbnails angezeigt werden oder beim Aufrufen eines Datensatzes das Bild nachgeladen wird ist dem Entwickler in erster Linie überlassen.

ZitatFinde es nebenbei Schade das der Sinn dieses Programms so kompliziert und benutzerunfreundlich dargestellt wird
So solltest du das nicht sehen, denn Access bietet sehr wohl ansprechende und relativ einfach zu verwendende Features. Bei komplexen Aufgabenstellungen werden natürlich auch tiefergehende Kenntisse erwartet. Schließlich ist Access keine Klick-Dich-Schlau-Applikation sondern eine Entwicklungsumgebung!

Einige Infos zu Bildern in Datenbanken findest du mal hier zum nachschmökern:
www.donkarl.com?FAQ2.2

Zitat...aber das könnte eine Menge Rechnenleistung kosten...
ist relativ zu sehen und sicher von der Größe der Bilder abhängig.
Bei den heutigen aktuellen Leistungspegeln der Rechner sollte es aber kein Problem darstellen ein Bild in adäquater Größe in einem AccessFormular (noch dazu in einem Teilbereich des Formulars) problemlos darzustellen.

HTH

Peter

p.s.
ZitatVon der Sache her ist es egal, ob die Bilder in der Datenbank liegen oder in einem Ordner
Mag sein, dass ich da ein wenig engstirnig bin - aber das glaube ich SO nicht! Bilder haben in der Datenbank eigentlich nichts zu suchen.

oma

Hallo,

als Ergänzung:

du hast verschiedene Möglichkeiten die Bilder in deine DB zu speichern.
Hierzu ist von Peter ein Link zu donkarl angegeben.

Sehr interessant ist hierbei die 2. Lösung, mit der Bilder in ungefährer Größe des Originalbildes in die DB gespeichert werden.
Hierzu gibt es im Netz zahlreiche Lösungsbeispiele.

@T417: das geht ohne großen Speicherbedarf u. großer Rechnerleistung       

am meisten wird wohl aber die Speicherung über Pfade realisiert. Hierzu wir in der Tabelle der Pfad gespeichert, etwa mit:
C:\Bilder\Familie\Bangkok.jpg  und beim Öffnen des Formulars wird das Bild dann (über Code ) dargestellt. Sicher hat diese Methode auch Nachteile, ist aber relativ einfach zu realisieren.

Etwas komplizierter wird es, wenn du die Bilder suchen und den Pfad dann automatisch speichern willst. Anbei ein Beispiel hierzu, das  wird oft im Netz angeführt wird, (ich glaube aber es gibt auch bessere (enfacher, effektiver))

Ansonsten: wie Peter sagt; Access ist eine Entwicklungsumgebung, deren Einsatz nun einmal Sachkenntnis verlangt:

ZitatKurz zu mir: Habe nur simple Grundkentnisse in Access. Von Programmieren habe ich keine Ahnung.

Kurz gesagt: dann kann man deine anspruchsvolle Aufgabenstellung nicht realisieren
Es sei dann, du arbeitest dich ein und hast solche Helfer wie wir es sind ;D

Gruß Oma




[Anhang gelöscht durch Administrator]
nichts ist fertig!

Kuno von Brande

Hallo Oma,

darf ich hier einmal anknüpfen ?     Ich bitte schon jetzt um Geduld und einfache Worte.

Ich haben eine Tabelle mit diversen Produkten in der sich u.a. der Dateiname des Bildes befindet. z.B. 0815.JPG
Die Bilder liegen auf Laufwerk X - alle im gleichen Verzeichnis.

Erstelle ich jetzt eine neues Feld, in dem ich "  X:\  " und den Dateinamen (0815.JPG) verknüpfe um dann X:\0815.JPG zu bekommen ???

Du sagtest: beim Öffnen des Formulars wird das Bild dann (über Code ) dargestellt ...  ???

Kannst Du das noch mal für Dummies erklären ?  ::)
Ich haben ein Formular mit alles Daten und "wie kommt jetzt das Bild da rein ?" Objektfeld ? - und dann ?

Vielen Dank im voraus.
Kuno

DF6GL

Hallo,

warum liest Du nicht den angegebenen Link zu  Donkarl? Dort sind ausführliche Beispeile zu finden..

www.donkarl.com/?FAQ2.2

Prinzipiell muß der (komplette) Dateiname der Eigenschaft "Picture" eines Bild-Steuerelementes in einem geeigneten Ereignis (meistens Form_Current)  zugewiesen werden:

Sub Form_Current()
Me!Bild1.Picture ="x:\gleichesVerzeichnis\" & Me!Dateiname
End Sub

oma

Hallo Kuno,

Ein Beispiel:

du hast in einer Tabelle die Felder Nachname, Vorname, BildPfad mit:

von Brande  Kuno       C:\Bilder\1.jpg
Oma            Gertrude  C:\Bilder\2.jpg
...

Hierbei kann in Textfeld BildPfad der Pfad und der Bildnamen händisch eingetragen werden.
Nun erstellst du ein Formular mit den Feldern und erstellst zusätzlich ein Bild-Steuerelement u. nennst es z.B picBild

Dann erstellst du ein Code im Formulat:

Private Sub Form_Current()
If Not IsNull(Me.BildPfad) Then
   Me!picBild.Picture = Me!BildPfad
Else
   Me!picBild.Picture = ""
End If
End Sub


Nun werden beim Blättern im Formular die Bilder gemäß den Pfaden im Formular angezeigt.

Dies ist nun die einfachste Art. Es kann weiter komplettiert werden, etwa, wenn der Bilderordner immer im gleichen Verzeichnis wie die DB liegt oder die Bilder mit einem Ladedialog gesucht u. der Pfad automatich gespeichert werden soll.

Versuchs mal mit dem einfachen Beispiel u. dann evt mit dem in #5 angeführtem Beispiel

Gruß Oma
nichts ist fertig!

Kuno von Brande

Liebe Oma,

vielen Dank für Deine Hilfe. Habe am Wochenende mal ein bischen experimentiert und eine Lösung gefunden.   ;D


Hallo Franz,
die Idee in anderen Links zu stöbern hatte ich auch schon. Leider sind mir diese Links etwas zu "professionell".
Werde nächstes mal aber bestimmt zweimal suchen, bevor ich etwas Frage.

Viele Grüße
Kuno von Brande