Access 2007 Ausdrucks-Generator

Hallo,

ich habe für meine DVD-Sammlung eine Datenbank mit verschiedenen Infos programmiert.
Meine Tabelle mit den Daten heißt „Filme“ und das Formular, dass ich verwenden will heißt „Filmdatenbank“.
Ich habe die verschiedenen FSK-Bilder (0,6,12,16,18) eingebunden, ihnen eindeutige Namen gegeben und bei allen den Wert Sichtbar auf Nein gestellt.
Was muss ich in den Ausdrucks-Generator von einem Bild eingeben, damit das Bild Sichtbar wird wenn „FSK“ gleich 0, 6, 12, 16 oder 18 ist?

Gruß, sagitta1793

Hallo,

ich habe für meine DVD-Sammlung eine Datenbank mit
verschiedenen Infos programmiert.
Meine Tabelle mit den Daten heißt „Filme“ und das Formular,
dass ich verwenden will heißt „Filmdatenbank“.
Ich habe die verschiedenen FSK-Bilder (0,6,12,16,18)
eingebunden, ihnen eindeutige Namen gegeben und bei allen den
Wert Sichtbar auf Nein gestellt.

eigenlicht ist das ein falscher Weg. Man bräuchte nur ein Bild-Steuerelement, dem man in der Ereignisprozedur (VBA-Editor, nicht Ausdrucks-Generator) den jeweils passenden Pfad-Dateinamen zuweist.

Was muss ich in den Ausdrucks-Generator von einem Bild
eingeben, damit das Bild Sichtbar wird wenn „FSK“ gleich 0, 6,
12, 16 oder 18 ist?

Wie oben gesagt, im VBA-Editor in der Ereignisprozedur „Beim Anzeigen“ :

Sub Form_Current()

Me!Bild0.Visible=Me!FSK=0
Me!Bild6.Visible=Me!FSK=6
Me!Bild12.Visible=Me!FSK=12
Me!Bild16.Visible=Me!FSK=16
Me!Bild18.Visible=Me!FSK=18

End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

Sub Form_Current()

Me!Bild0.Visible=Me!FSK=0
Me!Bild6.Visible=Me!FSK=6
Me!Bild12.Visible=Me!FSK=12
Me!Bild16.Visible=Me!FSK=16
Me!Bild18.Visible=Me!FSK=18

End Sub

Funktioniert Wunderbar, vielen Dank.
Wenn allerdings kein FSK Wert gegeben ist, wird zwar kein Bild angezeigt, aber es erscheint der „Laufzeitfehler ‚13‘: Typen unverträglich“.

Gruß, sagitta1793

Hallo,

Wenn allerdings kein FSK Wert gegeben ist, wird zwar kein Bild
angezeigt, aber es erscheint der „Laufzeitfehler ‚13‘: Typen
unverträglich“.

Access unterscheidet zwischen 0 und NULL (Null = nichts, noch nicht mal eine Zahl)

D.h. du solltest als Standardwert eine 0 für das Feld vorgeben, oder NULL per VBA abfangen:

Sub Form\_Current()

if isnull(Me.FSK) then
 msgbox "Hier fehlt der Standardwert = 0"
else
 Me!Bild0.Visible=Me!FSK=0
 Me!Bild6.Visible=Me!FSK=6
 Me!Bild12.Visible=Me!FSK=12
 Me!Bild16.Visible=Me!FSK=16
 Me!Bild18.Visible=Me!FSK=18
endif
End Sub

Grüße aus Rostock
Wolfgang
(Netwolf)

1 Like

Hallo,

oder NULL passend umsetzen:

Sub Form_Current()
Dim lngFSK as Long
lngFSK= nz(Me!FSK,-1)

Me!Bild0.Visible=lngFSK=0
Me!Bild6.Visible=lngFSK=6
Me!Bild12.Visible=lngFSK=12
Me!Bild16.Visible=lngFSK=16
Me!Bild18.Visible=lngFSK=18

End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

1 Like

Hallo,

vielen Dank für die schnelle Hilfe.
Ich hab mich für die Version von Netwolf entschieden und sie ein bisschen umgeschrieben, da sie meiner Meinung nach einfacher ist.

Private Sub Form\_Current()
If Not IsNull(Me.FSK) Then
Me!fsk0.Visible = Me!FSK = 0
Me!fsk6.Visible = Me!FSK = 6
Me!fsk12.Visible = Me!FSK = 12
Me!fsk16.Visible = Me!FSK = 16
Me!fsk18.Visible = Me!FSK = 18
Else
Me!fsk0.Visible = False
Me!fsk6.Visible = False
Me!fsk12.Visible = False
Me!fsk16.Visible = False
Me!fsk18.Visible = False
End If
End Sub

Gruß, sagitta1793