Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: emi am August 12, 2010, 17:00:20

Titel: MakroAbfrage am Anfang...
Beitrag von: emi am August 12, 2010, 17:00:20
tach, also - ich habe auf einem Formular einen Button (Farbauswahl für den Hintergrund)
Nun kann der Benutzer drauf klicken und kann sich eine Hintergrundfarbe auswählen.
Das ganze (also der Farbcode - ) wird in einer Tabelle gespeichert, also immer wieder aktualisiert, immer beim wechseln der Hintergrundfarbe.
DOCH:

Beim neustart von access ist die Farbe nicht mehr da, sprich wie muss ich den Makro aufbauen, damit er mir den Zahlen code (aus der vorherigen SItzung) liest und so die Farbe automatisch ändert...

Bitte um Hilfe :(
Titel: Re: MakroAbfrage am Anfang...
Beitrag von: Stapi am August 12, 2010, 19:37:19
Hallo emi

Du speicherst die einstellung in einer Tabelle und wie stellst du sicher welcher Benutzer welche änderung macht? Wenn die Datenbank geöffnet wird muss sicher Benutzer per Benuzterverwaltung anmelden?
Oder soll einfach der oder die letzte Farb Einstellung ausgeführt werden?

GrußStefan
Titel: Re: MakroAbfrage am Anfang...
Beitrag von: Stapi am August 12, 2010, 19:41:53
Hallo Emi

Einfach neuen Beitrag aufgemacht ??
Ist zwar ein andere Gastname aber das Problem sieht doch verdammt gleich aus! ??? ???

http://www.access-o-mania.de/forum/index.php?topic=12911

Gruß Stefan
Titel: Re: MakroAbfrage am Anfang...
Beitrag von: emi am August 12, 2010, 19:59:36
Zitat von: Stapi am August 12, 2010, 19:37:19
Hallo emi

Du speicherst die einstellung in einer Tabelle und wie stellst du sicher welcher Benutzer welche änderung macht? Wenn die Datenbank geöffnet wird muss sicher Benutzer per Benuzterverwaltung anmelden?
Oder soll einfach der oder die letzte Farb Einstellung ausgeführt werden?

GrußStefan

Die letzte Farbeinstellung soll ausgeführt werden..
Titel: Re: MakroAbfrage am Anfang...
Beitrag von: database am August 13, 2010, 20:43:55
Hallo,

also du musst erstens beim Schließen des Formulars die Farbe in die Tabelle schreiben - nicht als neuen Datensatz sondern den vorhandenen Eintrag aktualisieren  ...

Private Sub Form_Close()

   Dim farbe as Long
   farbe = Form_Journaleintrag.Detailbereich.BackColor

   Docmd.RunSQL ("UPDATE DeineTabelle SET Hintergrundfarbe=" & farbe )

End Sub




... und zweitens beim Öffnen des Formulars den Wert wieder auslesen  und dem Detailbereich zuweisen - so wie es im anderen Thread zu lesen war.


Private Sub Form_Open(Cancel As Integer)

   Dim farbe as Long
   farbe = DLookup("Hintergrundfarbe","DeineTabelle")
   Form_Journaleintrag.Detailbereich.BackColor = farbe

End Sub  


Sorge dafür, dass vor der ersten Ausführung des UPDATE Statements bereits 1 Datensatz / eine Farbe eingetragen ist!

HTH

Peter

EDIT: Tabellen-Feldname berichtigt (Hintergrundfarbe statt Farbe)