Office: (Office 2010) Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen

Helfe beim Thema Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; von Dinkel Könntest du vielleicht erklären, warum das Ganze nur mit einer Function geht und nicht mit einer Sub? Immerhin hat das in ACC2000... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Lipsam, 23. Februar 2016.

  1. Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen


    Meines Wissens funktioniert das schon immer nur mir Functions.
    Die Syntax ist ja auch =EineFunction() - Man beachte das Gleichheitszeichen am Anfang.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  2. So ist es.

    Würde ich gerne ein Bsp. zu sehen.

    Wenn die Funktion direkt in den Eigenschaften eingetragen wird, ist das quasi der
    Weg über den Ausdrucksgenerator und der kennt nun mal nur (öffentliche) Funktionen.
    Auf das öffentlich kann man verzichten, wenn die Funktion im (Formular-)Klassenmodul
    liegt, welches auch das Steuerelement beherbergt.
     
  3. Hallo,

    das scheint mir hier auf eine ähnlich qualifizierte Diskussion hinauszulaufen wie in anderen Threads mit Dinkels Beteiligung. Merkwürdig, dass dieser vermeintlich so kluge Mensch nicht merkt, dass er sich selbst immer wieder aufs (Glatt-)Eis manövriert. Bei den derzeitigen Temperaturen ist der Einbruch kaum zu verhindern. So ist aus der Nummer mit den vermeintlichen Sub-Aufrufen aus Ereignisprozeduren ebensowenig rauszukommen wie aus der Behauptung, dass Systemtabellen änderbar sind. Kein Wunder, wenn solche Threads im "Smalltalk-Niveau" enden.
     
    MaggieMay, 26. Februar 2016
    #18
  4. Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen

    \@Maggie
    geh mit gutem Beispiel voran und bleibe bitte fachlich. *wink.gif*

    @Lipsam
    hier mal eine Skizzierung, wie das mit einer Labelklasse und einem zentralen
    Eventhandler aufgebaut werden kann (ist schnell zusammengetippt, daher mögen
    mir Fehler verziehen und berichtigt werden):
     
  5. Liebe Maggie,

    mit deinem Kommentar zeigst du dein intellektuelles Niveau leider nur zu deutlich. Niemand zwingt dich, an Threads teilzunehmen, die von mir eingestellt wurden oder an denen ich mich beteiligt habe.

    Jeder kann und darf seine eigene Meinung haben. Sie aber als einzig richtige aufzufassen, ist nicht einmal mehr dem Papst zugestanden.

    Wenn du mich persönlich angreifen oder beleidigen willst, dann schicke mir bitte eine PM. Ansonsten verbitte ich mir solche Statements und rufe die Moderatoren auf, hierzu Stellung zu nehmen.

    Gruß,
    Dinkel

    @Marsu
    Danke für deinen Versuch, Maggie zu disziplinieren.

    Im übrigen stehe ich zu meiner Aussage, dass es unter ACC2000 möglich war, als Ereigisprozedur eine Sub zu benennen (immerhin heisst es ja auch Ereignisprozedur und nicht Ereignisfunktion). IMHO ist das Wort Prozedur ein verallgemeinender Begriff, der sowohl Funktionen als auch Subroutinen einschließt. Es ist aber unter ACC2016 nicht mehr möglich (vielleicht sogar ein Bug?), wie ich ja erkannt und gepostet habe. Vielleicht hat jemand noch eine ACC2000-Umgebung, um dies zu verifizieren. Immerhin hat aber der TS - auch durch meine Info - eine funktionierende Lösung gefunden - und darum geht es doch. (Es ging auch nicht darum, aus einer Ereignisprozedur eine Sub aufzurufen, sondern als Ereignisprozedur.)

    Wer da ohne Schuld, der werfe den ersten Stein.

    Und damit zurück zu sachlicher und fachlicher Diskussion.
     
  6. \@Dinkel
    Ich diszipliniere hier niemanden! Ist auch nicht mein Job. Dafür sind allein die Moderatoren zuständig.
    Bemühe mich lediglich an einem fachlich qualitativen Foreninhalt und sachlichen angenehmen
    Forenklima mitzuwirken.

    Dazu gehört auch fachlich falsche Behauptungen, wie oben, für weitere Leser richtig zu stellen.
    Dies ist auch der einzige Grund, warum du noch nicht auf meiner Ignorierliste stehst.

    Die Denkweise, eher an einen Access-Bug zu glauben (oder auf einen zu hoffen), als das eigene
    Wissen/Können in Frage zu stellen, spricht für mich Bände.

    Und das war definitiv das letzte OT von mir zu einem deiner Beiträge!
     
  7. Hallo,
    nein, das sehe ich auch nicht so. Sub ist Sub und Funktion ist Funktion.
    Wenn in der Zeile mit dem Ereignis [Ereignisprozedur] steht wird eine Prozedur (Sub) aufgerufen.
    Das Wort Ereignisprozedur kann aber durch eine eigene Aufgabe ersetzt werden, in dem ich das Wort [Ereignisprozedur] lösche und durch meine eigene Aufgabe ersetze. Z.B.
    Code:
    Und das muss eine Funktion sein.
    Code:
    Als Sub führt das zur Fehlermeldung dass hier eine Funktion verwendet werden muss.
    Der Zwang zur Funktion kommt daher, dass hier auch noch Parameter übergeben werden können und ein Rückgabewert möglich ist. Und das geht nur mit einer Funktion. Daher werden Subs erst gar nicht zugelassen.


    War meiner Meinung nach noch nie anders.
    Getestet mit einem alten Laptop auf dem nur noch Access2000 installiert ist.
     
    gpswanderer, 26. Februar 2016
    #22
  8. Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen

    \@Dinkel:
    Auf dem Ohr bin ich taub. Ihr seid alle (weitestgehend) erwachsen, also benehmt euch so. Ansonsten: Wenn weitere deiner Beiträge hier für Unruhe sorgen, wirst auf jeden Fall du diszipliniert.
     
    Arne Dieckmann, 26. Februar 2016
    #23
  9. \@arne
    Das ist ein schwaches Statement gewesen, denn die Unruhe kommt nicht von mir allein, sondern von irgend welchen Profil-Neurotikern, deren einziges Ziel es ist, zu allem ihren Senf zu geben, um möglicht hohe post-counts zu haben, damit sie jedenfalls etwas haben, auf das sie stolz sein können, um es vorsichtig auszudrücken.

    Der Ton, den manche hier benutzen (nicht nur mir gegenüber), ist oft erbärmlich und teilweise schon pathologisch. Mit missionarischem Übereifer einiger Forens-Mitglieder wird hier leider zu oft versucht, den Fragesteller als DAU zu verhöhnen und sich selbst als "Guru" heraus zu stellen. Das ist leider in vielen Foren der Fall und es wundert mich etwas, dass du dies nicht erkennst.

    Zur Freude dieser Kinder-im-Geiste werde ich meine Teilnahme an diesem Forum in Kürze beenden und mein Profil löschen. Dann können sich die Infantilen weiter ungestört austoben und brauchen mich nicht erst auf ihre Ignorierliste setzen.

    Ich habe es definitiv in meinem Colorpicker-Beispiel geschafft, Subs als Ereignisprozeduren zu definieren. Nicht im Designer, aber zur Laufzeit. Ich habe tagelang an und mit meinem Colorpicker gearbeitet - ohne Probleme. Eine fachlich fundierte und umfängliche Aussage, warum das nicht geht, hat hier noch niemand gebracht. Ich wurde stattdessen nur verhöhnt und beleidigt. Wenn das der Stil dieses Forums ist und kein Moderator dies kritisiert, tut es mir um die Qualität des Forums leid.

    Es war mir zuvor klar, das mein geklammerter Nebensatz (vielleicht sogar ein Bug?) wieder unreflektierte Antworten nach sich ziehen würde. Es ist also durch ein paar Worte möglich, genau eine solche Reaktion hervorzurufen. Und das spricht Bände für mich.

    Ich scheue mich nicht, Fehler einzugestehen, wie man nachlesen kann. Andere haben da so ihre Probleme, denn es könnte ja eine Zacke ihrer Krone verloren gehen und sie fühlen sich in ihrer immensen Eitelkeit verletzt und lassen sich zu unbedachten Äußerungen hinreißen.

    Also, liebe selbsternannte Gurus, das Feld für eure Selbstbeweihräucherung steht nun wieder offen!

    Ade und RIP, MOF
    Dinkel
     
  10. \@Marsu
    Im code Archiv hab ich schon so eine ähnliche Konstruktion bezüglich Eventhandler gesehen.
    Gegenüber dem einfachen Aufruf einer Function kann ich aber keinen Vorteil erkennen.

    Mich würde daher interessieren in welchem Fall diese Methode gegenüber der Function überlegen ist?*rolleyes.gif*

    LG Markus
     
    markusxy, 27. Februar 2016
    #25
  11. Hallo Markus,
    für so einen 'einfachen' Fall, wie von Lipsam beschrieben, würde ich auch so
    vorgehen und die Funktion direkt in die Eventeigenschaft eintragen.

    Ich versuche es mal an einem Beispiel zu erklären:
    Du willst eine Matrix als Objekt aufbauen um sie in diversen Anwendungen mit einer
    standardisierten Schnittstelle wiederzuverwenden. Die Matrix hat als Unterobjekte
    Zeilen und Spalten, diese wiederum haben einzelne Zellen als Unterobjekt.
    Willst du nun beim Cklick auf eine Zelle in allen übergeordneten Objekten reagieren
    (z.B. soll eine ganze Zeile markiert werden, die Matrix muss das Cell-Click an die Anwendung
    melden) muss dass Click-Event nach oben durchgereicht werden.
    Das Bild unten veranschaulicht (hoffentlich) zwei mögliche Vorgehensweisen.
    Daneben wird oft das Argument der Kapselung genannt. Das können andere aber
    sicher besser erläutern ...
     
  12. \@marsu65 vielen Dank. Ist ja Hammer.
     
  13. Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen

    Ich melde mich hier nur noch einmal, um evtl. entstandene Missverständnisse auszuräumen.
    Ereignisprozeduren sind IMMER Subs.
    In der Frage ging es aber um via VBA zur Ereignis-Eigenschaft eingestellte Prozeduren
    und das können - außer der Ereignisprozedur selbst - eben nur Funktionen sein.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    MaggieMay, 27. Februar 2016
    #28
Thema:

Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen

Die Seite wird geladen...
  1. Steuerelemente (Labels) über eine Klasse mit einem ClickEreignis ansprechen - Similar Threads - Steuerelemente Labels Klasse

  2. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  3. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  4. Schnellbausteine, Auto Text und Auswahlfeld in Vorlage

    in Microsoft Word Hilfe
    Schnellbausteine, Auto Text und Auswahlfeld in Vorlage: Hallo in die Runde, ich stehe in der Firma vor folgender Herausforderung: Mein Bereich stellt für den Vertrieb standardisierte Angebote und sonstige Kundenschreiben bereit. Diese sollen durch...
  5. Bericht Steuerelementinhalt Kreuztabelle

    in Microsoft Access Hilfe
    Bericht Steuerelementinhalt Kreuztabelle: Hallo an alle, ich habe da mal eine Frage. Ich fülle einen Bericht über eine recht umfangreiche Kreuztabelle (Angestellte und deren Schulungen). Nun Muss ich die Angestellt auch Filtern können...
  6. Dropdownfeld in Word Formular

    in Microsoft Word Hilfe
    Dropdownfeld in Word Formular: Hallo, ich arbeite an einem Word Formular wo ich einige Dropdownfelder mit Ja/Nein einfügen möchte. Ich will, dass standardmäßig Nein ausgewählt ist und der User zwischen ja und nein wählen...
  7. MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?

    in Microsoft Access Hilfe
    MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?: Hallo Ihr Lieben, ich bastle gerade ein Formular. Nun such ich nach dem passenden "Steuerelement", dass ich mehrere Daten pro Feld eingeben kann, z.B. getrennt durch ein Semikolon oder ähnliches?...
  8. Excel Desktop App und Active X Steuerelemente

    in Microsoft Excel Hilfe
    Excel Desktop App und Active X Steuerelemente: Hallo, ich benutze Office 365 Single und habe in der Cloud eine Datei gespeichert, die Active-X-Steuerelemente, VBA und Makros enthält. In der Web-App von Excel 365 wird mir an der Stelle des...
  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