Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am April 14, 2016, 10:23:55

Titel: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 10:23:55
Hi... Ich zerbreche mir den Kopf und komme nicht weiter... Ich möchte eine Schaltfläche in einem Formularkopf nach dem Inhalt eines Feldes einfärben. Dazu folgender Code:


If Me.IsPrimeryContact = -1 Then Me.Befehl834.BackColor = RGB(0, 238, 0) Else Me.Befehl834.BackColor = RGB(238, 0, 0)


Problem ist, dass dieser Code mal funktionierte. Plötzlich wird aber die Schaltfläche gar nicht mehr eingefärbt. Sie müsste ja entweder rot oder grün werden. Sie bleibt aber grau.

Den Code habe ich mal im Current, mal im Load Ereignis platziert. Weiterhin habe ich die IF Then Else Klausel auch mal als mehrzeiligen Code implementiert und eine MsgBox eingefügt. Die MsgBox wird ausgeführt, aber die Schaltfläche bleibt grau.  :o :o :o

Ich erhalte auch keine Fehlermeldung...

Woran kann das denn liegen? Ich bin ratlos. Kann jemand helfen?
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: DF6GL am April 14, 2016, 10:45:04
Hallo,


in welcher Prozedur steht denn diese Bedingung?
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 11:01:55
Wie ich geschrieben hatte, habe ich es in den Prozeduren des current und des load Ereignisses versucht. Beide mit gleichem Ergebnis. Oder was meintest Du?
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: DF6GL am April 14, 2016, 11:13:01
Hallo,

ja, hatte ich wohl überlesen..


Trotzdem: zeige nochmal die komplette Prozedur und prüfe Folgendes:

--Option Explict in allen(!)  Modulköpfen.
--Debuggen/kompilieren ausführen und evtl. Fehler eliminieren.
--Felder gebunden?
--Steht "[Ereignisprozedur]" In der Form-Eigenschaft "Beim Anzeigen"?
--Haltepunkt in den Prozedur-Code setzen und mit Einzelschritt durchlaufen.

Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 11:48:29
Zitat von: DF6GL am April 14, 2016, 11:13:01

Trotzdem: zeige nochmal die komplette Prozedur und prüfe Folgendes:

--Option Explict in allen(!)  Modulköpfen. ja
--Debuggen/kompilieren ausführen und evtl. Fehler eliminieren. ohne Fehler
--Felder gebunden? Feld ist nicht gebunden.. nur eine Schaltfläche hinter welcher ein "Bei Klicken" Ereignis abläuft
--Steht "[Ereignisprozedur]" In der Form-Eigenschaft "Beim Anzeigen"? ja
--Haltepunkt in den Prozedur-Code setzen und mit Einzelschritt durchlaufen.



Private Sub Form_Load()

'// Farbe für Schaltfläche Primärkontakt einstellen
   
If Me.IsPrimeryContact = -1 Then Me.Befehl834.BackColor = RGB(0, 238, 0) Else Me.Befehl834.BackColor = RGB(238, 0, 0)

End Sub

Einzelschritte werden abgearbeitet.. Finde keine Fehler...
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: DF6GL am April 14, 2016, 12:15:25
Hallo,

nutze mal das Form_Current-Ereignis.   Bei Load ist noch nicht sicher, welcher Wert in IsPrimeryContact steht.
Ist "IsPrimeryContact"gebunden, bezieht also seinen Wert aus der Datenherkunft?


Private Sub Form_Current()
   
If Me!IsPrimeryContact = -1 Then
Me!Befehl834.BackColor = RGB(0, 238, 0)
Else
Me!Befehl834.BackColor = RGB(238, 0, 0)
End If
End Sub

Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: MaggieMay am April 14, 2016, 12:27:27
Hi,
ZitatBei Load ist noch nicht sicher, welcher Wert in IsPrimeryContact steht.
das ist zwar nicht zutreffend, aber sofern es sich um ein Datenfeld aus der Datenquelle des Formulars handelt, bezieht sich das dann ja nur auf den (zufällig) ersten Datensatz. Form_Current sollte hier also die bessere Wahl sein.
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 12:36:43
IsPrimeryContact ist ein Bezug auf die Tabelle, welche als Grundlage des Formulars dient. Ich habe auch schon in den Code eine MsgBox eingebaut, welche den korrekten Wert anzeigt. Einzig die Einfärbung wird nicht vorgenommen. Wie gesagt, beides Current und Load schon probiert.. Der Formularkopf hingegen wird korrekt eingefärbt....

Habe die Schaltfläche auch schon mal gelöscht und eine neue gemacht, gleiches Ergebnis....
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: MaggieMay am April 14, 2016, 12:39:16
Welche Access-Version setzt du ein? Kann es etwas mit Styles etc. zu tun haben?
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: DF6GL am April 14, 2016, 12:39:46
Hallo,


dann setz doch mal einen Haltepunkt an den Anfang der Prozedur und prüfe den Inhalt von "IsPrimeryContact"...
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 12:47:25
Office 16. Was sind Styles? Wenn Du das Design der Schaltfläche meinst, dann steht es auf NEIN.

DF6GL: Wie mache ich das genau. Haltepunkt ist klar, aber wie mache ich das genau?
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: DF6GL am April 14, 2016, 12:52:12
Hallo,

dann stell die Eigenschaft auf Ja...


Einfach die Maus über den Feldnamen stellen, falls der Haltepunkt aktiv ist.
Titel: Re: Bekomme Schaltfläche nicht gefärbt
Beitrag von: datekk am April 14, 2016, 12:55:23
DF6GL: es lag an der Design-Einstellung... Seltsam. Mir war nicht bewusst, dies geändert zu haben. Also vielen Dank auch an MaggiMay...

Wegen sowas habe ich mir eine Woche lang den Kopf zerbrochen... unmöglich...  :o