Neuigkeiten:

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

Mobiles Hauptmenü

OLE Objekt einfügen mit Bezug auf Dropdown

Begonnen von wuffwuff2003, Juni 17, 2013, 13:14:32

⏪ vorheriges - nächstes ⏩

wuffwuff2003

Hallo,
Ich habe ein Formular, mit den Einträgen : Kunde, Schuhmodell, usw. Alle 2 sind Dropdown-Felder. Beim Anwählen des Kunden wird dessen Schuhmodell im Dropdown angezeigt, kann natürlich durch öffnen der Dropdown geändert werden. Der Kundenname kommt aus einer Tabelle : tbl_Kunde, der Schuhmodell hat eine eigene Tabelle indem die Modelle eingetragen sind. Diese hat aber Bezug auf den Kunden.(das alles klappt). Nun möchte ich noch die Fotos der Schuhe mit einblenden. Habe im Formular ein OLE Objekt gemacht. In der Tabelle der Schuhmodelle eine Spalte mit OLE Objekt, und dort die Bilder eingetragen (bmp). Wie aber sage ich im Formular dem OLE-Objekt Feld, dass es sich das Bild des angezeigten Schuhmodells nehmen muss und dies anzeigt. Ich kriege das OLE nicht mit dem Dropdown des Schumodells verbunden.
Bitte hierbei um Hilfe. Mfg

Stapi

Hallo

Ich würde die Bilder nicht in der Datenbank speichern sondern sie in einem Ordner Außerhalb der Datenbank ablegen und nur den Pfad des Bild in deiner Tabelle Schuhe ablegen.

Jedes deiner abgelegten Bilder in der Datenbank bläht dises extrem auf.
Grüße aus dem schönen NRW
Stefan

DF6GL

#2
Hallo,

zusätzlich zum Hinweis von Stapi (dem dringend nachgegangen werden sollte) , kann das Bild (die Bilddatei) mit einem Bild-Steuerelement angezeigt werden, indem man den Bilddateinamen dessen Eigenschaft "Picture" zuweist.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

daolix

Hallo

so reizvoll es auch ist Bilder als OLE in der Datenbank abzulegen, im kleinen Rahmen evtl auch akzeptabel, aber du solltest sicherstellen das das Zielsystem dies auch unterstützt und der OLE-Server für Bmp's nicht durch eine Softwareinstallation überschrieben wurde.
ZitatWie aber sage ich im Formular dem OLE-Objekt Feld, dass es sich das Bild des angezeigten Schuhmodells nehmen muss und dies anzeigt
Dein Formular muss z.B. an die Tabelle/Abfrage mit deinem OLE-Feld verbunden sein, und deine Combobox muss nach dem Aktualisieren auf den Datensatz des Formulars das Bookmark setzen.

wuffwuff2003

Hallo,

Danke dann werde ich das OLE mal sein lassen, und die Bilder per Anhang hinzufügen. Stellt sich nur noch die Frage, wie kriege ich diese an das Dropdownmenu Schuhmodell fixiert?
LG

daolix

#5
Hallo

die combobox mit den schumodellen sollte bei Aktualisierung die SchuhID zurückgeben. Mit diese liest du z.B per Domwert den Dateinamen aus der Schuhetabelle aus und übergibst diesen Datenemen an die Pictue-Eigenschaft deines Bildelements.
oder du übergibst deiner Combobox noch in einer weiteren Spalte den Dateinamen und liest diesen dann mach der Aktualisierung mit Hilfe der Column-Eigenschaft deiner Combobox aus. Hierbei must du den Spaltenindex (Spaltennummer) kennen, beginnend mit 0 (null).

ZitatStellt sich nur noch die Frage, wie kriege ich diese an das Dropdownmenu Schuhmodell fixiert?
Ich hoff mal nicht damit ist jetzt gemeint das das Schuhmodell als Bild in der Combobox angezeigt werden soll. Ich glaub das geht nicht mit der Standard-Combobox von Access. Das ginge aber mit der ImageCombobox der Mscomlib.

wuffwuff2003

Hi,
Nein die Combo Box enthällt nur den Namen, nach Auswahl eines Namen soll dann in einem 2. Feld nebendran das Bild passend zur Auswahl erscheinen.
Ich versuch es mal mit der DomFunktion.
Danke

DF6GL

Hallo,

nimm in der Abfrage für das Kombi ("cmbSchuhe") auch die Spalte mit dem Dateinamen auf..  Dann geht das Zuweisen an das Bild-St.-El. ("picSchuhBild") einfach so:

Datensatzherkunft des Kombis "cmbSchuhe":
Select SchuhID,SchuhBezeichnung, SchuhBild from tblSchuhe


Sub cmbSchuhe_Afterupdate()
Me!picSchuhBild.Picture = Me!cmbSchuhe.Column(2)
End Sub


Zusätzlich nötig ist:

Sub Form_Current()
cmbSchuhe_Afterupdate
End Sub
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

wuffwuff2003

Hallo,
Ich tue mich schwer ein Bild einzufügen, wenn nicht per OLE, Ich habe nun in der Tabelle eine Spalte mit Anlage definiert. Dann mache ich in dieser Spalte Hyperlinks zu den Fotos? Bis dahin müsste ich ja richtig sein oder? Dann kommt das Formular. Was integriere ich  denn nun im Formular?

MzKlMu

Hallo,
ZitatIch habe nun in der Tabelle eine Spalte mit Anlage definiert. Dann mache ich in dieser Spalte Hyperlinks zu den Fotos?
Anlagefelder sind fast genau so schlecht wie OLE Felder. Verzichte daher auch auf Anlagefelder, Du benötigst sie ohnehin nicht.. Du denkst viel zu kompliziert, Du brauchst auch keinen Hyperlink.
Einfach ein Textfeld mit dem Pfad und dem Dateiname für das Bild. Dann dem Bildfeld zuweisen. Fertig. Genau sowie es Franz beschrieben hat.
Gruß Klaus

daolix

Hallo
Anlage ist ähnlich OLE, nur hier wird die Datei binär ohne Änderung im Dateiformat in der Datenbank gespeichert, aber deutlich kleiner als OLE. Du solltest aber wie Stapi und DF6GL es schon vorgeschlagen hatten die Dateien auf deiner Festplatte speichern, und nur die Pfade als text in deiner Datenbank erfassen.
Wenn du jetzt aber zwingend die Bilddateien in der Datenbank speichern musst ( ala Resource ), dann wäre Anlage das richtigere Format. Da ich aber nur Acc 2003 kenne, kann ich zur handhabung von Anlagefeldern nix sagen, evtl musst du das bild bei Bedarf temporär auf die Patte speichern, und dann das Temporäre Bild als path angeben.
Alternativ könntest du es mit GDIP versuchen, aber dazu müsstest du schon gewissen Kenntnisse in VBA besitzen. Das Basismodul von Sascha Trowitzsch könnte dir ggf dabei helfen. Hier werden Anlagefelder verwendet die mit der Funktion AttachmentToPicture wieder ausgelesen werden können.


wuffwuff2003

Danke das problem liegt beim Zuweisen des Bildes. Ich habe unter FORMAT-BILDTYP "verknüpft" angegeben. Das Feld BILD darunter müsste ja leer bleiben, denn trage ich dort den Pfad ein, kommt ja immer das gleiche Bild, es ist ja demnach nicht variabel. Wenn ich das Steuerelement aber öffne und dann den Pfad eingebe bekomme ich eine Syntax Fehlermeldung.
Lg

wuffwuff2003