PDA

Vollständige Version anzeigen : Auswahlfenster mit Bild verknüpft anzeigen


kirtas
26.09.2003, 09:56
Hallo Zusammen
Ich bin momentan an einer Datenbank am arbeiten. Dabei habe ich bei den Forumlaren ein Problem. Ich möchte ein Auswahlfeld mit einem Verknüpften Bild darstellen. D.h dass wenn ich etwas im Auswahlfeld auswähle soll daneben das dazu gehörige Bild angezeigt werden. Die Daten befinden sich alle in einer Tabelle: Name, Nummer; OEL Objekt!
Kann mir jemand helfen? wie mach ich das?
Danke im Vorraus
Kirtas

Lösungen können auch direkt an info@kirtas.ch geschickt werden!

Rainer Simon
26.09.2003, 10:05
Hallo Kirtas,

mal generell vorab: ALLE Probleme werden hier im Forum geklärt, damit alle etwas von der Lösung haben.

Dein Auswahlfeld ist ein Listenfeld? Wenn ja, verfügt es über das Ereignis Change, hier kannst Du die Anzeige aktualisieren.

Gruß Rainer

kirtas
26.09.2003, 12:28
Hallo Rainer
Ja es ist ein Listenfeld, muss aber nicht. Ich kann jedoch nichts anklicken! Kannst du mir detailierter es erklären? Nochmals zur errinneruung, man soll ein Eintrag anklicken können, und danach soll das dazugehörige Bild erscheinen. Alle Werte sind in 1ner Tabelle:
AutoNR Name Bild

danke und gruss
kirtas

Rainer Simon
29.09.2003, 06:13
Hallo Kirtas,

ich gehe von einem Listen-(Kombinations-)feld aus, da es sich für Dein Vorhaben am besten eignet.

Du brauchts eine Tabelle mit mindestens folgenden Angaben:
- Beschreibung (wird dann angezeigt)
- Name des anzuzeigenden Bildes, optional Laufwerk und Pfad

Die Bilder müssen dann in einem für Access lesbaren Grafikformat gespeichert worden sein.

In einem Formular erstellst Du ein Listen-(Kombinations-)feld und gibst als Datenquelle die Tabelle an, gebundene Spalte ist die Angabe des Speicherortes! Dann erstellst Du ein Bildsteuerelement (Access will hier immer eine Angabe haben, am besten ist die Erstellung einer Grafikdatei, die nicht weiter enthält.

Im Ereignis Nach Aktualisierung des Listen-(Kombinations-)feldes trägst Du den folgenden Code ein:

Me.Bild5.Picture = Me.Liste2.Value

wobei Du Bild5 gegen den Namen Deines Bildsteuerelementes und Liste2 gegen den Namen des Listen-(Kombinations-)feldes austauschen mußt.

Gruß Rainer

Damian
29.09.2003, 12:10
Hallo
Danke für deine Hilfe. Was ist me für ein Makro? Kannst du villeicht ein Bsp. im Zip Format hinein laden?
Thanks
Kirtas
p.s. so schnell wie möglich

CptChaos
29.09.2003, 12:16
Me. ist kein Makro.

Auszug aus der OH:
"Das Schlüsselwort Me verhält sich wie eine implizit deklarierte Variable. Es steht allen Prozeduren in einem Klassenmodul automatisch zur Verfügung...."


Funktioniert der Code von Rainer denn?

Rainer Simon
29.09.2003, 12:16
Hallo Kirtas,

Me ist kein Makro, sondern bezieht sich auf das aktuelle Formular, damit spart man sich Änderungen am Code, wenn u.a. ein Formular umbenannt wird.

Du hast ja die beiden Steuerlemente sicher schon auf Deinem Formular, dann markieren das Listen-(Kombinations-)feld und wähle das Register Ereignisse, dort klickst Du in den Bereich neben "Nach Aktualisierung" und trägst diese Klammer [ ein, es wird automatisch [Ereignisprozedur] ergänzt. Nun klickst Du auf die drei Punkte rechts und gibts die Anweisung ein. Passe die Namen entsprechend an.

Gruß Rainer

Damian
29.09.2003, 12:34
Dankê soweit verstanden, zeigt mir jedoch Bild nicht an:
Hier meine Daten:
Bild 1 keine Angabe in Steuerelementinhalt,Klasse MS.Paint
Bei der Auswahl alles eingegeben.
Was ist falsch? Braucht das Bild1 einen datenherkunft?
Thanks

(bsp wäre hilfreich!)

Damian
29.09.2003, 13:17
ps. Am schluss sollte ich mehrere solche Bild-Text auswahl haben, die abgelegt werden! Wie Geht Das???
Bsp:
Auswahl1 Bild1
Auswahl2 Bild2
............... ......
Diese sollen abgelegt werden damit man si wieder aufrufen kann!
Thanks for support!

CptChaos
29.09.2003, 13:32
Kannst Du vielleicht mal eine Beispieldatenbank posten?
Komm nicht mehr mit, wo Du jetzt noch das Problem hast!

Damian
29.09.2003, 14:05
Hallo
Funktioniert noch nicht.
Habs in angehängt. Formular 1 und 3. Das Andere ist eine andere Möglichkeit. Funktioniert jedoch nicht mit mehren.
Bitte um Hilfe.
Nachher sollen mehrere Kominationsauswahlfelder (Listenfeld und Bild) auswählbar und ablegbar sein.
Man soll die verschiedenen Varianten danach abrufen können:

Plan1
Listenfeld1 ---- Bild 1
Listenfeld2 ---- Bild 2
usw ca 10

speichern, neuer eintrag wieder 10...
Geschnallt?

Thanks

CptChaos
29.09.2003, 14:09
Sorry! Nein, ich habs nicht geschnallt!

Nochmals die Bitte, die DB (oder einen Teil davon) zu posten, dann kann ich Dir vielleicht noch weiterhelfen.
Nur mit den Beschreibungen kann ich leider nix anfangen :(

Damian
29.09.2003, 14:15
habs die ganze zeit versucht, geht nicht. Aber kannst es unter www.kirtas.ch/v1.zip
gucks an in ca 2 min

CptChaos
29.09.2003, 14:35
Die Zip-Datei (7,7 MB gross) lässt sich bei mir nicht aufrufen.
Lt. Log von Winzip defekt...

Damian
29.09.2003, 14:44
habs nochmals raufgeladen
www.kirtas.ch/v1.zip oder v1.rar
sorry

Rainer Simon
30.09.2003, 06:10
Hallo Kirtas/Damian,

ich habe mir mal die DB geholt und nicht schlecht gestaunt als ich die Größe sah.

Generell werden Bilder nicht im Standardformat gespeichert, da dies die DB unnötigerweise aufbläht. Es gibt zu diesem Thema auch einige Einträge im Forum.

Speichere die Bilder extern in einem für AC "verständlichen" Format und speichere in der DB nur den Pfad zu den Grafikdateien.

Ich habe mal eine Beispiel-DB angehangen. Du mußt(!) aber vor dem Öffnen des Formulars #Formular1 in der #Tabelle1 die Angaben zu den Bildern anpassen, ansonsten wirst Du nur eine Fehlermeldung sehen.

Gruß Rainer

Damian
30.09.2003, 11:57
Sorry Jungs, ich glaub ihr habt mich nicht recht verstanden:
Ich brauche eine DB mit MEHREREN Bildauswahl-segmenten, die alle verschieden Auswählbar sind und sich ablegen lassen!
Verstanden?
Bitte schnelle Lösungsvorschläge!

CptChaos
30.09.2003, 12:58
Sorry Damian, aber mit den etwas dürftigen Infos kann ich Dir leider nicht mehr folgen.

Erschwerend kommt hinzu, dass ich die DBs hier nicht aufrufen kann, da ich leider nur Acc97 zur Verfügung habe. :(

Chris_MA
30.09.2003, 13:04
ohne die datenbank gesehen zu haben - ich glaube er meint, er will zu jedem Listeneintrag im Kobinationsfeld ein Bild zuordnen, das darin erscheint.
richtig?
frage: warum? wozu brauchst du das? wenn es dir z.B. um die markierung oder einfache grafische aufpeppung geht, kannst du jedem Listenfeld einem Wert zu weisen mit z.B. Farbe "Rot" für diesen wert etc.
Bilder generell immer extern ablegen - am besten farbreduzierte BMP-Bilder (in photoshop o.ä. tweaken) oder GIFs mit wenigen farben. JPGS und TIFFS haben in einer DB nichts zu suchen.

mfg,
Chris

Damian
30.09.2003, 13:37
Also Jungs
Vorerst mal danke für die Mühe.
Ich muss ein Trainingsplan erstellen. Das heisst es gibt übungen(listenfeld) mit einem Bild(OEL Objekt). Man sollte im Listenfeld eine Übung auswähllen können und danach erscheint rechts dazu das entsprechenden Bild. Alle Daten befinden sich in einer Tabelle ( Nr Beschreibung Bild). Ich brauch danach 10 solche Übungen zum Auswählen, die danach a) abgelegt werden kann (wie ein Übungsplan) und b) in einem Bericht verwendet werden kann.
Also kurz gesagt: 10 Übungen(listenfelder) mit dazu gehörigen Bildern. Sie müssen danach abgelegt werden um ein anderes Mal wieder verwendet zu werden.
Mein bisheriges Problem war die Ablage und die Mehrzahl von Übungen. Ein Listenfeld mit Bild krieg ich hin. Jedoch nicht mehrere! Alle Bilder wechseln gleich und nicht nur zum dazugehörigem Listenfeld. Zudem geht die Ablage nicht.Sie bleiben und werden nicht abgelegt.
Verstanden?
bin auf eine möglichst schnelle Lösung angewiesen.
Danke und Gruss
Damian

CptChaos
30.09.2003, 14:19
Hab hier jetzt mal eine kleine DB erstellt, die ein Form anzeigt, das Dir ein Listenfeld anzeigt.
Wenn Du einen entsprechenden Eintrag im Listenfeld auswählst (im moment nur 3 Einträge, können aber beliebig in der Tabelle erweitert werden), erscheint rechts das Bild.

Ist das das was du wolltlest?


MfG

Damian
30.09.2003, 14:25
Danke soweit bin ich auch gekommen.
Kannst du das auch mit mehreren in einem Formular, das jedes einzel sein Bild steuert?
gruss

CptChaos
30.09.2003, 14:29
Soll das heissen, Du hast mehrere Beschreibungen zu einem Bild??

Das würde ich dann in 2 Tabellen in folgender Form machen:

Tabelle1
ID (Autowert)
Beschreibung (Textfeld)
BildID (Zahl)

Tabelle2
BildID (Autowert)
Bild (OLE)

Dann eine Beziehung zwischen Tabelle1.ID --1:n--> Tabelle2.BildID

Damian
30.09.2003, 14:43
Nein, aber ich brauch das 10 mal . 10mal eine Abfrage von einem Listenfeld zu einem Bild. So das man jedes Listenfeld bedienen muss um das Bild dazu zu bekommen. Verstehst du?
Listenfeld1 --> Bild1
Listenfeld1 --> Bidl2
...
...
...
...
Listenfeld10 -->Bild10

Alles kommt aus einer Tabelle!
gruss

CptChaos
30.09.2003, 14:48
Heisst in deinem Listenfeld gibt es immer nur einen Eintrag?
Warum dann ein Listenfeld?

Ich kann Dir beim besten willen nicht folgen, was Du erreichen willst...
Ein Formular, in dem dir der Inhalt deiner Tabelle angezeigt wird, nicht aber das Bild, das erst wenn auf das Listenfeld geklickt wird vielleicht?

Rainer Simon
30.09.2003, 14:52
Hallo Damian,

willst Du wirklich in einem Formular zehn(!) Listenfelder unterbringen?

Es funktioniert nach meiner Vorlage, natürlich mußt Du den Code in das Ereignis Nach Aktualisierung des entsprechenden Listenfeldes eintragen.

Da die gebundene Spalte auf der LW/Pfad/Dateinamenangabe steht kann mit Value nicht auf den angezeigten Wert zugegriffen werden. Hier hilft die Eigenschaft Column(x), wobei x=0 für die erste Spalte ist.

Ich habe nochmal eine DB angehängt. Du mußt aber wieder die Pfadangabe in der Tabelle ändern.

Gruß Rainer

P.S. Nochmals, wie schon bei Start des Threads: Es werden ALLE Sachverhalte eines Threads hier IM FORUM diskutiert. Auch wir haben noch nebenbei was zu tun und können uns nicht NUR mit der Lösung EINES Problemes beschäftigen. Etwas Geduld wird schon erwartet und Hintergrundwissen mußt Du uns schon geben - was ja auch zwischenzeitlich angefordert wurde.

Damian
30.09.2003, 14:59
Danke Rainer
Genau das habe ich die ganze Zeit versucht.
Merci vielnmals!
Versuche nun alles auf meine Bedürfnisse abzustimmen. Meld mich bei Problemen oder Erfolgen
Merci und cheers
damian

Damian
30.09.2003, 15:01
Rainer, wie erweitere ich deine Lösungen auf 10?

Rainer Simon
30.09.2003, 15:04
Hallo Damian,

Du mußt das Listenfeld und das Bildfeld entsprechend oft kopieren und dann, wie bereits geschrieben muß Du den Code in das Ereignis eintragen.

Die Speicherung des Ergebniswertes mußt Du dann auch entsprechend organisieren, denn die 10 Übungen sollen ja bestimmt in einer bestimmten Reihenfolge durchlaufen werden?

Gruß Rainer

Damian
30.09.2003, 15:11
Hallo Rainer
Sorry habs nicht ganz geraft!
Hier mein Bsp:
Gruss
Damian

Rainer Simon
30.09.2003, 15:20
Hallo Damian,

Du mußt schon den VBA-Editor aufrufen und nicht bloß "[Ereignisprozedur]" eintragen.

Im VBA-Editor mußt Du dann den Code entsprechend eintragen - DENKE AN DIE NAMEN DER STEUERELEMENTE!!!

Gruß Rainer

Damian
30.09.2003, 15:54
Hallo
Danke nochmals!
Habs geschafft!
Aber wie kann ich datenherkunft ändern?
gruss

Rainer Simon
30.09.2003, 16:01
Hallo Damian,

die Anlage läßt sich nicht öffnen.

Die Datenquelle kann mit VBA geändert werden, oder meinst Du die gebundene Spalte?

Gruß Rainer

Damian
30.09.2003, 16:07
Verrsuchs nochmals

Damian
30.09.2003, 16:10
nochmals

Rainer Simon
30.09.2003, 16:11
auch 1.zip funktioniert nicht.

Gruß Rainer

Damian
30.09.2003, 16:13
habs nicht geschafft versuchs mal unter
www.kirtas.ch/1.rar

Rainer Simon
30.09.2003, 16:22
Hallo Damian,

Im Forum ist die Größe auf 300kB begrenzt, Deine DB hatte aber 600kB.

Aber auch die Variante von kirtas.ch funktioniert nicht CRC-Fehler.

Gruß Rainer

P.S. Wenn es funktioniert es ja ok, wobei mir die Sache mit den 10 Listenfelden nicht gefällt, hier solltest Du nochmal die Vorgehensweise und Struktur überdenken. Wegen der fehlenden Info's kann Dir aus dem Forum auch kein anderer helfen. - Viel Erfolg noch bei Deinen heutigen Versuchen.