Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Status-Ampel in Access Formular erstellen

Begonnen von rumpelgitti, April 05, 2017, 10:53:24

⏪ vorheriges - nächstes ⏩

rumpelgitti

Zunächst einmal möchte ich Euch alle herzlich begrüßen und für die Aufnahme im Forum danken. Ich bin Hobby-Access-Anwender und bringe dieses Hobby sehr oft in meinen Beruf als Erwerber von Grundstücken für die BRD ein. Zur Zeit entwickle ich ein Formular und bin mit meinem Ergebnis eigentlich schon sehr zufrieden. Lediglich eine Ampellösung bringt mich schier zum verzweifeln.

Also folgendes: Ich habe drei Bilder hinterlegt (ampel_gruen.jpg, ampel_gelb.jpg und ampel_rot.jpg), diese können im einem Bild-Feld (AmpelPic) eingeblendet werden. Davor steht ein Kombinationsfeld (cboStatus) in dem nur drei Möglichkeiten ausgewählt werden können (Frei / Reserviert / Vergeben).
Sobald ich im Kombinationsfeld "Frei" auswähle, soll das Bild "ampel_gruen.jpg" im Bildfeld eingeblendet werden. Bei "Reserviert" das Bild "ampel_gelb.jpg" und bei "Vergeben" das Bild "ampel_rot.jpg".

Es will mir aber einfach nicht gelingen. Ich habe schon alles versucht, ich kriege es nicht alleine hin und wäre für Eure Unterstützung sehr, sehr dankbar. Liebe Grüße und frohes Schaffen an einem sonnigen Tag! Eure Rumpelgitti

MzKlMu

Hallo,
ZitatIch habe schon alles versucht,
zeige/erkläre einige Deiner Versuche, damit man etwas hat wo man darauf aufbauen kann.

Ist das ein normales Formular, oder ein Endlosformular ?
Gruß Klaus

rumpelgitti

Oh, das ging aber schnell. Es handelt sich um ein normales Formular, also kein Endlosformular? Und jetzt hoffe ich auf ganz viele Lösungsansätze  ;)

rumpelgitti

Und hier meine Ansätze:
Ich habe in der Formular - Ereigniseigenschaft "Beim Anzeigen" folgenden Code angegeben:

Private Sub Form_Current()
   If Me!cboStatus = Reserviert Then
      Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_gelb.jpg"
   Else
   If Me!cboStatus = Vergeben Then
      Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_rot.jpg"
   Else
   Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_gruen.jpg"
   End If
   End If
End Sub

Aber leider :'(

MzKlMu

Hallo,
Du prüfst auf eine Variable und nicht auf den Text. Es fehlen die AZ ("). Außerdem ist Select Case wesentlich übersichtlicher.
Private Sub Form_Current()
    Select Case Me!cboStatus
        Case "Reserviert"
            Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_gelb.jpg"
        Case "Vergeben"
            Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_rot.jpg"
        Case Else
            Me!picAmpel.Picture = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\ampel_gruen.jpg"
    End Select
End Sub
Gruß Klaus

rumpelgitti

 :) :) :) Vielen herzlichen tausend DANK! Es funktioniert! Ich bin begeistert!
Das Problem ist gelöst!
Da ich ganz neu bin, weiß ich leider nicht, wo man das angeben kann!

Lachtaube

Du musst zwei Fälle behandeln. Beim Anzeigen des Formulars und beim Aktualisieren des Kombifelds. Außerdem würde ich die Ampel transparent lassen, wenn (noch) kein Wert im Kombifeld vorliegt.
Private Sub Form_Current()

   UpdateLights
   
End Sub

Private Sub cboStatus_AfterUpdate()

   UpdateLights

End Sub

Private Sub UpdateLights()

   Const PicDir As String = "R:\Straßenbauprojekte NEU\DEGES\A44_Flächenpool\Ampel\"

   Dim PicPath As String

   Select Case Me.cboStatus
      Case "Reserviert": PicPath = PicDir & "ampel_gelb.jpg"
      Case "Vergeben": PicPath = PicDir & "ampel_rot.jpg"
      Case "Frei": PicPath = PicDir & "ampel_gruen.jpg"
   End Select
   
   Me.picAmpel.Picture = PicPath
   
End Sub
Grüße von der (⌒▽⌒)