Office: (Office 2010) Buttonrahmenfarbe

Helfe beim Thema Buttonrahmenfarbe in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend, darf ich eine Frage zu einem Problemchen stellen? Also..ich möchte einem (oder danach auch weiteren) selbst erstellten Button einen grünen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Prof.Adv, 18. Juni 2020.

  1. Buttonrahmenfarbe


    Guten Abend,
    darf ich eine Frage zu einem Problemchen stellen?
    Also..ich möchte einem (oder danach auch weiteren) selbst erstellten Button einen grünen Rahmen zuweisen, wenn der Button gedrückt ist, also der Filter welcher dahintersteckt aktiv ist.
    Wenn der Filter AUS gedrückt wird soll auch der grüne Rahmen wieder verschwinden.
    Der Rahmen soll auch dann grün bleiben wenn innerhalb der aktiven Filterung sortiert wird. Das geschieht ebenfalls mit div. Button.
    Vielleicht könnte ich im Anschluss die Sache noch erweitern das auch die Sortierungs-Button grün werden wenn die Sortierung aktiv ist.

    Das Ganze soll nur der Optik dienlich sein und sollte keine anderen Funktionen beinhalten.

    Wie man bei einem Butten die Farbe beim "draufzeigen" ÄNDERT, geht dasmit dem Rahmen nicht, das müsste man mit VBA programmieren oder?

    Hat wer eine Idee wie ich das anstellen müsste?
    Vielen Dank im voraus.

    :)
     
    Prof.Adv, 18. Juni 2020
    #1
  2. Was wäre das genau?

    Ansonsten: Man könnte ja einen echten Rahmen um das Objekt ziehen und da einige Varianten programmieren.
     
    ebs17, 20. Juni 2020
    #2
  3. Hallo Eberhard,
    wie programmiert man denn verschiedenfarbige Rahmen?
    Habe in einem Formular u.a. 2 Filter-Button sowie einige Sortier-Button. Der eine filtert "AT", der andere "DEU", um deine Frage was das genau ist zu beantworten.
    Einen Rahmen habe ich schon um das Objekt gelegt. Der ist aber dann dauerhaft.
    Kann man das so gestalten das der Rahmen nur "grün" wird wenn der Button gedrückt ist, also gefiltert ist?
    Der Rahmen soll sich aber beim auflösen des Filters wieder ausschalten.
    Was brauchst du ? Welche Infos muss ich geben?
    .
    Hmm....schwierig?
     
    Prof.Adv, 20. Juni 2020
    #3
  4. Buttonrahmenfarbe

    Na und?
    Objekte kann man unsichtbar oder transparent oder gleichfarbig zum Hintergrund stellen, dann stören sie nicht den Augenschein.
    Klar. Objekte bieten Ereignisse, die man für zielgerichtete Ereignisprozeduren nutzen kann.

    Die Frage ist unklar. Mit Loslassen des Buttons wäre der Filter wieder aufgehoben?
    Das wäre eine besondere User-Inanspruchnahme.

    Vielleicht wäre eine Umschaltfläche eher angebracht ...?
     
    ebs17, 20. Juni 2020
    #4
  5. Hallo,
    so kannst Du die Farben des Rahmens setzen:
    Code:
    Die Zeile muss (ggf. mit den entsprechenden Bedingungen) in die Befehlsfolgen für die Aktivierung des Filters eingebaut werden.
     
    NeuerMann1978, 20. Juni 2020
    #5
  6. Ggf. bietet sich auch die Bedingte Formatierung an, indem man ein Textfeld so unter den Button platziert, dass nur der Rahmen über diesen herausragt. In der Bedingung müsste dann der Filterstring ausgewertet werden.
     
    Maxel, 20. Juni 2020
    #6
  7. Okay, ich merke schon....es führen mal wieder viele Wege nach Rom.
    Vielleicht sollte ich zur Klärung noch etwas erwähnen:
    -
    Der "BUTTON" ist nicht etwa ein sog. Umschaltbutton aus der Menüleiste sondern eine Schaltfläche (xxx) 4.von links)
    Diese Schaltfläche hat den Namen DEU. Das Ereignis beim Klicken aktiviert einen Filter. (Me.Filter =)
    Die Schaltfläche kann man nicht "loslassen", das geht nur mit einem UMSCHALT-BUTTON, soviel mir bekannt ist.
    Ein Umschaltbutton verändert sein Aussehen wenn er gedrückt wird, weiß ich. Auch ein Filter würde sich damit aktivieren lassen ABER
    beim erneuten Drücken wird NICHT deaktiviert. Ist definitiv keine mögliche Lösung.Dazu müsste man eine IF Anweisung schreiben die den Filter auch wieder aufhebt, glaube ich.
    -
    Die Schaltfläche hat von Haus aus ihren RAHMEN *1. Diesen meine ich. Nicht etwa ein VIERECK welches man über die
    Schaltfläche legen könnte.
    -
    Dieser *1 Rahmen soll die Farbe grün erhalten wenn die Schaltfläche angeklickt und somit der Filter aktiviert wird.
    Keine weiteren Bedingungen sind vorhanden.
    -
    Den Code #5 habe ich mal unter den Filtercode gesetzt. Es passiert jedoch nichts. Rahmenfarbe bleibt. Allerdings wird von
    Access der Rahmen "gestrichelt" dargestellt wenn die Schaltfläche angeklickt wurde.
    Das macht Access immer so, mit jeder Schaltfläche.
    -
    Was also wäre hier am ehesten wirkungsvoll?
    Es scheint so als gäbe es viele Möglichkeiten. Mir würde die einfachste schon genügen.
    Das mit dem Textfeld setzt ein "Viereck über der Schaltfläche" voraus.
    Der Code muss aber doch sicher für die Schaltfläche eingesetzt werden und nicht beim Viereck. Ich klicke doch die
    Schaltfläche an und nicht das Viereck.
    -
    Scheint wohl doch nicht so häufig vorzukommen das jemand sowas realisieren möchte.
    Nun, wenn es nicht geht, bleibt es so wie es ist.
     
    Prof.Adv, 20. Juni 2020
    #7
  8. Buttonrahmenfarbe

    Wenn Du die von mir angesprochene Bedingte Formatierung meinst:

    Das Textfeld gehört, wie geschildert, hinter den Button.

    Die Filterbedingung wird beim Click-Event des Buttons formuliert.

    Die Bedingte Formatierung wird im Textfeld formuliert, etwa so:
    Code:
     
    Maxel, 20. Juni 2020
    #8
  9. \@Prof.Adv
    in passenden Ereignisprozeduren
    Code:
    gruss ekkehard
     
    Beaker s.a., 21. Juni 2020
    #9
  10. @Ekkehard, die Prüfung auf FilterOn dürfte nicht reichen, denn es müsste (noch) auf den Filterstring geprüft werden.

     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  11. Nun, :: Rückmeldung dazu ist:
    Code wie von ekkehard aus #9 eingesetzt.
    Button (Schaltfläche) wird gedrückt = DEU Filter wird gesetzt + Rahmen wird grün.
    Filter auf AUS = Rahmen bleibt grün.
    Da ich das Frm so eingestellt habe das beim Neustart KEINE Sortierung und KEIN Filter gelten soll, muss ich das Frm neu starten damit der Rahmen verschwindet.
    Auch beim einschalten des 2.Filters (AT Button) wird zwar nach AT gefiltert, aber der DEU Button bleibt grün.
    Irgendwas fehlt oder ich hab etwas falsch interpretiert.


    PHP:
             Private Sub DEU_Click()
    Me.Filter "Bereich = 'DEU'"
    Me.FilterOn True
    If Me.FilterOn True Then Me.DEU.BorderColor vbGreen
    If Me.FilterOn False Then Me.DEU.BorderColor vbBlack
    End Sub
     
    Prof.Adv, 21. Juni 2020
    #11
  12. Du willst also die von mir vorgeschlagene Bedingte Formatierung nicht anwenden.

    Dann bleibt Dir nur, alternativ auf Deine beiden Button-Clicks zu reagieren. Dabei gehe ich davon aus, dass bei einem Button-Click IMMER gefiltert wird. Ansonsten brauchtest Du ja noch einen 3. Button, um den Filter auszuschalten.

    Code:
    Code:
    Code:
    Man käme auch mit nur 2 Buttons aus, wenn man die Filter-Button-Beschriftung wechselt zwischen [leer] - DEU - AT (Rahmen bei Filter immer grün, aonsonsten schwarz).

    Ein entsprechendes Kombinationsfeld statt der 3 Buttons bietet sich allerdings an, sofern man sich (datenbanktypisch) die Option auf weitere Länder offenhalten möchte.
     
  13. Buttonrahmenfarbe

    Das mit der bedingten Formatierung habe ich nicht hinbekommen. Wollte auch nicht weiter nachfragen.
    Die 3 Codes habe ich jetzt in Verwendung. Rahmenfarben werden gesetzt, Filter eingeschaltet.
    Da ich eh schon einen Filter LÖSCH Button hatte, habe ich den Code (Nr.3) dort ebenfalls angepasst.
    Filter lösen .....Rahmenfarbe wird weiß. (black war mir optisch zu aufdringlich)
    Der Code Nr 3 ist unbedingt erforderlich, sonst bleiben die Farben stehen.
    Sogar wenn ich die Filterung mittels Button in der Menüleiste löse bleiben die Farben stehen.
    Die Farbzeilen sind also absolut erforderlich.
    Die IF Anweisungen aus #11 habe ich somit nicht mehr in Verwendung.
    -
    Das mein Vorhaben auch mit einem Dropdown Feld möglicherweise auch funktionieren würde könnte ich noch testen.
    Versuche das mal bei Gelegenheit.

    Die Codes aus #12 beinhalten genau die Lösung die ich erhofft hatte. Vielen Dank, Maxel, für deine Mühe und Zeit.
    Danke auch an Ekkehard.
    Top Leute hier. Finde ich cool. So sagt man doch heutzutage oder?*biggrin.gif*
     
    Prof.Adv, 21. Juni 2020
    #13
  14. Hallo,

    ok, wie man die Rahmenfarbe einer Befehlsschaltfläche ändert, ist jetzt hinreichend bekannt. Das man nebenbei auch einfach den Rahmen hätte nur transparent schalten können, wäre eine andere Möglichkeit gewesen.

    Kleine Anmerkung am Rande:
    Besser fände ich jedoch, wenn die Signalisierung eines aktiven/inaktiven Filters direkt in dem Formularereignis Form_Current() synchronisiert wird. Nur so läßt sich sicherstellen, daß die Signalisierung und der Filterzustand immer synchron sind, sprich der IST-Zustand widergespiegelt wird und nicht der SOLL(te)-Zustand.

    Schaltet der Anwender, z.B. per Ribbon oder Statusleiste, den Filter ab, stimmt in diesem Fall die Signalisierung mit dem Rahmen der Befehlsschaltfläche schon nicht mehr überein

    Ulrich
     
    knobbi38, 21. Juni 2020
    #14
  15. Hallo Ulrich,

    so etwas schließe ich in meinen Anwendungen einfach aus - ich möchte programmatisch gern alles selbst in der Hand behalten. Und Form_Current() wirkt m. E. öfter als mir lieb ist.

    Ist halt meine Philosophie und evtl. auch etwas OT.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
Thema:

Buttonrahmenfarbe

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden