Hallo
In einer kleinen Pflanzendatenbank habe ich ein Kombinationsfeld welches die Giftigeit der beschriebenen Pflanze angibt: z.B. "leicht giftig".
Nach der Kriteriumsauswahl des Kombinationsfeldes soll in Abhängigkeit bei Giftigkeit der Pflanze ein Totenkopfsymbol erscheinen, wenn nicht giftig dann kein Symbol.
Bisher hatte ich das Symbol als Bild ins Formular eigebunden. Es funktionierte auch. Aber die Sichtbarkeit des Symbols wird in jeden neuen Datensatz übernommen.
Wie muss der Code aussehen, das dass Symbol in jedem neuen Datensatz je nach Auswahl erscheint oder nicht erscheint?
Wäre für Hilfe sehr dankbar, habe im Forum noch keinen passenden Beitrag gefunden.
woop
Hallo,
zunächst ein paar Fragen:
Handelt es sich um ein Einzel- oder Endlosform?
Wo sind die Dateinamen der Bilder abgelegt?
"hatte ich das Symbol als Bild ins Formular eigebunden" Was heißt das genau? Wurde das Bild dem Formualr zugewiesen oder als OLE-Objekt eingefügt oder in einem Bild-Steuerelement dargestellt?
Hallo,
ich geh mal davon aus das du kein Endlosformular hast. Da würde es nämlich gar nicht funktionieren.
Du kann beim Anzeigen den Code hinterlegen:
If Me!giftig = "leicht giftig" or me!giftig = "giftig" then
me!Bild.visible = true
else
me!Bild.visible = false
end if
gifig = dein Feld mit den Eintrag
Bild = dein Bild
PS: ich frage nicht gern auf Textkonstante ab sonder würde mir da lieber ein Kennzeichen machen
Gruß
Johann
wie wäre es mit einer bedingten Formatierung des Totenkopfbildes.
oder du stellst es per VBA ein also:
im Kombinationsfeld bei Ereignis nach Aktuallisíerung:
if me!Kombi = "giftig" then
me!Bild.visible = true
else
me!Bild = false
end if
Hallo
Erst einmal Danke für die Antworten.
Das Formular ist eine Einzelformular. Das Bild wurde als Bildsteuerelement zugewiesen. Die Bilddateien sind auf der Festplatte abgelegt, nicht in Access.
Ich werde jetzt erst einmal probieren ob es funktioniert.
Lieben Gruße an alle Helferlein
Hallo
Die Vorschläge von Klingon 33 und Jonny funktionieren nicht. Das Ergebnis ist weiterhin, dass das Bild trotz eines neuen Datensatzes weitergegeben wird, auch wenn die Kombinationsfeldauswahl anders ist.
Ich arbeite mit einem Einzelformular. Das Bild ist als Bildsteuerelement eingebunden. Das Bild ist nicht in Access gespeichert.
>:(
Hallo woop,
Zeig mal die Datenherkunft des Kombis. Was steht da in der gebundenen Spalte?
Wahrscheinlich musst Du in klingons Code nur den Vergleich ändern.
gruss ekkehard
Hallo,
es muss bei beiden sein.
Wenn das Kombi geändert wird und wenn er zu einen neuen DS geht.
die Routinen von klingons und mir sind beide in Ordnung.
Mit ziemlicher Sicherheit ist der Wert vom Kombi anders siehe Beaker gebundene Spalte.
Gruß
Johann
An Beaker s.a.
Anbei die Datenherkunft des Kombis und der Code
Datensatzherkunft Tabelle: Einträge der gebunden Spalte "nicht giftig, leicht giftig und stark giftig".
Private Sub Giftigkeit_AfterUpdate()
If Me!Giftigkeit = "Leicht giftig" Or Me!Giftigkeit = "nicht giftig" Then
Me!Totenkopf1.Visible = True
Else
Me!Totenkopf1.Visible = False
End If
End Sub
Gruß woop
Hallo,
Du hast meine Fragen nicht beantwortet, deshalb nochmal welche:
Wie lautet der Tabellenaufbau (Tabellen-/Feldnamen)
Wie wird die Bilddatei dem Bild-Steuerelement zugewiesen?
Wie lautet die Datensatzherkunft des Kombis (Was Du geschrieben hast, ist nicht der Eintrag in dieser Eigenschaft... Oder heißt die Tabelle "Tabelle" ??) ?
PS: Vermutlich fehlt auch noch das Sichtbar-Unichtbarsetzen im Form_Current-Ereignis.
Ansonsten lad die DB hier mal hoch....
Hallo DF6GL
Anbei die DB.
Schon einmal danke fürs reinschauen.
Lieben Gruß
woop
[Anhang gelöscht durch Administrator]
Hallo,
wenn du folgende Codes in den zugeordneten Ereignissen verwendest wird der Totenkopf richtig angezeigt.
Private Sub Giftigkeit_AfterUpdate()
Select Case Me!Giftigkeit
Case "Leicht giftig"
Me.Totenkopf1.Visible = True
Case "Stark Giftig"
Me.Totenkopf1.Visible = True
Case Else
Me.Totenkopf1.Visible = False
End Select
End Sub
Private Sub Form_Current()
Select Case Me!Giftigkeit
Case "Leicht giftig"
Me.Totenkopf1.Visible = True
Case "Stark Giftig"
Me.Totenkopf1.Visible = True
Case Else
Me.Totenkopf1.Visible = False
End Select
End Sub
HTH
p.s. geänderte DB ist im Anhang
[Anhang gelöscht durch Administrator]
Hallo,
Oder als Einzeiler
Me!Totenkopf1.Visible = (InStr(1,Me!Giftigkeit,"giftig")>0)
gruss ekkehard
Zitat von: Beaker s.a. am Dezember 21, 2011, 22:04:39
Hallo,
Oder als Einzeiler
Me!Totenkopf1.Visible = (InStr(1,Me!Giftigkeit,"giftig")>0)
gruss ekkehard
Würde das jetzt nicht bedeuten das auch "nicht giftig" mit dem Totenkopf belegt wird?
weil woop schrib ja im eingangs post:
Zitat von: woopNach der Kriteriumsauswahl des Kombinationsfeldes soll in Abhängigkeit bei Giftigkeit der Pflanze ein Totenkopfsymbol erscheinen, wenn nicht giftig dann kein Symbol.
N'abend,
aus der Antwort 8 folgt, dass das Symbol unsichtbar ist, wenn "stark giftig", ansonsten ist es sichtbar.
Dieses Bedingungsverhältnisse sind für mich zwar nicht nachvollziehbar (vielleicht fehlen mir Infos zum Verständnis), aber dann könnte der Einzeiler auch lauten:
Me!Totenkopf1.Visible = Me!Giftigkeit <> "stark giftig"
Logischer wäre für mein Verständnis: Me!Totenkopf1.Visible = Me!Giftigkeit <> "nicht giftig"
Harald
Hallo daolix,
ZitatWürde das jetzt nicht bedeuten das auch "nicht giftig" mit dem Totenkopf belegt wird?
Jau, stimmt, mal WIEDER nicht richtig gelesen >:(.
Ich würde allerdings auch nicht das Attribut "nicht giftig" vergeben; eher "essbar" und "nicht geniessbar", da IMO informativer.
gruss ekkehard
Hallo database
Der Code funktioniert. Super. :)
Aber wie schon angemerkt wurde. Wenn eine Pflanze sehr giftig ist, sollen zwei Totenköpfe erscheinen. Hier der Code:
Private Sub Giftigkeit_AfterUpdate()
Select Case Me!Giftigkeit
Case "Leicht giftig"
Me.Totenkopf1.Visible = True
Case "Stark Giftig"
Me.Totenkopf1.Visible = True
Me.Totenkopf2.Visible = True
Case Else
Me.Totenkopf1.Visible = False
Me.Totenkopf2.Visible = False
End Select
End Sub
Wenn ich "stark giftig" gewählt habe erscheinen die Köpfe auch bei "leicht giftig".
Was habe ich falsch gemacht? ???
Gruß woop
Hallo,
Du musst bei "Leicht giftig" das unerwünschte Bild explizit unsichtbar setzen....
Hallo,
Zitat DF6GL...
ZitatDu musst bei "Leicht giftig" das unerwünschte Bild explizit unsichtbar setzen....
....weil Weihnachten ist .... ;) ;D
Private Sub Giftigkeit_AfterUpdate()
Select Case Me!Giftigkeit
Case "Leicht giftig"
Me.Totenkopf1.Visible = True
Me.Totenkopf2.Visible = False
Case "Stark Giftig"
Me.Totenkopf1.Visible = True
Me.Totenkopf2.Visible = True
Case Else
Me.Totenkopf1.Visible = False
Me.Totenkopf2.Visible = False
End Select
End Sub
Kleiner Nachtrag - den Code in 'Form_Current' mußt du natürlich auch entsprechend ergänzen!
Hallo,
@database:
eigentlich solltest Du eine solche Signatur haben::
Learning by doing spoon-feed ;D ;D ;D
An alle die mir geholfen haben.
Problem gelöst!!! :) :) :)!!!!
Vielen vielen Dank und ein angenehmes Weihnachtsfest. ::)
woop
Hallo,
@Franz
...es ist doch Weihnachten Franz! ::) :D :D ;D
Hallo,
ja, und deswegen wünsche ich allen Lesern hier ein frohes Weihnachtsfest und viel Erfolg im Neuen Jahr, besonders was Access angeht... :)