Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: basti2010 am Februar 04, 2012, 13:38:09

Titel: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: basti2010 am Februar 04, 2012, 13:38:09
Hi
ich möchte gerne die Hintergrundfarbe von versch. Formularen von einem Zentralen Formular aus steuern.

Wie stelle ich das an.??

Danke
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: Jonny am Februar 04, 2012, 13:43:35
Hallo Basti,

den Sinn kann ich nicht erkennen.
Sollen das Farben in Abhängkeit von irgendwelche Datenkostellationen werden?

Gruß

Johann
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: basti2010 am Februar 04, 2012, 13:45:02
Nein, will einfach nur die Option hintergrundfarbe ändern einbauen.
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: DF6GL am Februar 04, 2012, 14:36:00
Hallo,

versteh auch nicht...

welche "Option"


Außerdem hat jeder Formular-Bereich seine eigene Eigenschaft "Hintergrundfarbe"("BackColor").


Prinzipiell:


Forms!DeinAnderesFormular.Detailbereich.Backcolor =RGB(100,50,255)
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: Jonny am Februar 04, 2012, 15:06:09
Hallo Franz,
nur aus Neugierde. Geht das auch wenn das Formular geschlossen ist?
Brauche ich mit Sicherheit nicht aber es interessiert mich halt.

Gruß

Johann
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: DF6GL am Februar 04, 2012, 15:10:39
Hallo, 


nein, mit einem geschlossenen Form geht sowas natürlich nicht. 

Es muss mindestens in Entwurfsansicht geöffnet sein, und dann kann man die Einstellung auch dauerhaft im Formualr speichern.

Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: basti2010 am Februar 04, 2012, 16:35:17
Zitat von: DF6GL am Februar 04, 2012, 15:10:39
Hallo, 


nein, mit einem geschlossenen Form geht sowas natürlich nicht. 

Es muss mindestens in Entwurfsansicht geöffnet sein, und dann kann man die Einstellung auch dauerhaft im Formualr speichern.



Und wie würde man dieses Umsetzten ?

Man müsste dann nur von dem Formular in dem  sich in der Farbe ändert, eine abfrage an die in der Tabelle machen, wo der hacken entwerder true oder false ist.

Das ganze mit if else abfragen und die Farbe setzten.
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: DF6GL am Februar 04, 2012, 16:39:07
Hallo,


sorry, aber deine Schilderung musst Du nochmal in andere Worte fassen. So ist diese Aussage nicht verständlich..
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: basti2010 am Februar 04, 2012, 17:08:53
Dann Formuliere ich es einfach mal anders !

Wie würde ich das genze speichern ?

Ich muss doch nur auf der Form wo sich die Farbe dann ändert den status des kontrollkästchen abfragen oder ?

Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: DF6GL am Februar 04, 2012, 17:48:24
Hallo,

stell doch mal das Konzept vor, das hinter dieser Formularfarben-Steuerung steckt...


Deine insgesamten Angaben widersprechen sich (erst nicht speichern,nur steuern;  dann doch speichern ; welche Kontrollkästchen??;  usw.)
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: basti2010 am Februar 06, 2012, 00:45:53
Ich wollte eine Form erstellen wo ich die Hintergrundfarbe (nennen wir dieses Formular mal "Settings") zb von dem Hauptformular steuern kann mit speicherfunktion.

Habe auf dem dem Formular "kontrollkäschen" gesetzt um die Farbe einund wieder auszuschalten (also zum speichern von True und False).

Jetzt muss ich doch nur im Hauptformular den Status True oder False des Kontrollkästchens abfragen oder und dann dementsprechend die Farbe setzen.
Titel: Re: Hintergrundfarbe von einem Anderen Formular aus steuern
Beitrag von: DF6GL am Februar 06, 2012, 11:10:02
Hallo,

Wenn das Ganze auch noch dynamisch sein soll, d. h. während des Betriebes der DB sollen die Farben um/einstellbar sein, dann binde das Form "Settings" an eine Tabelle "tblSettings" ,die neben einem Feld für Formularnamen zusätzliche Felder für die Farb-Werte der einzelnen (benötigten) Formularbereiche enthält.  Mit dem Form speicherst/bearbeitest Du dann die gewünschten Daten  (Formualrname, Farbwert für Kopfbereich, Farbwert für Detailbereich, usw.) ab.

tblSettings:

FrmName (Text, eindeutiger Index)
DetailbereichBackColor (Long)
.
.




In jedem betroffenen Formular wird im Form_Open-Ereignis eine Prozedur aufgerufen, die aus der Tabelle die einzelnen Farbwerte des akt. Formulares  liest und den entspr. Eigenschaften zuweist:


(Luftcode, ungetestet)

Sub Form_Open(Cancel as Integer)
SetColors Me
End Sub


Public Sub SetColors(I as Object)
Dim  rs as Dao.Recordset
set rs= Currentdb.Openrecordset("select * from tblSettings where FrmName = '" & I.Name & "'", dbOpenSnapShot)
If rs.Recordcount > 0 Then
I.Detailbereich.Backcolor= rs!DetailbereichBackColor
.
.
End If
rs.Close
Set rs=Nothing
End Sub