Office: (Office 2010) Prüfen welches Unterformular Focus hat

Helfe beim Thema Prüfen welches Unterformular Focus hat in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi, in einem Formular habe ich zwei Unterformulare (ufrm1 und ufrm2). Ich würde jetzt gerne prüfen ob und welches Unterformular gerade den Focus hat... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von jobee, 9. Juli 2016.

  1. Prüfen welches Unterformular Focus hat


    Hi,
    in einem Formular habe ich zwei Unterformulare (ufrm1 und ufrm2).
    Ich würde jetzt gerne prüfen ob und welches Unterformular gerade den Focus hat und dementsprechend eine Aktion ausführen.
    z.B.
    If ufrm1 oder ufrm2 Focus Then
    …MsgBox „bitte erst Zeile markieren“
    If ufrm1 = Focus Then
    …Aktion 1 durchführen
    If ufrm1 = Focus Then
    … Aktion 2 durchführen

    Wie kann man sowas umsetzen?

    :)
     
    jobee, 9. Juli 2016
    #1
  2. Sinngemäß kannst Du so vorgehen: Code:
     
    Nouba, 11. Juli 2016
    #2
  3. Hi Nouba,
    ich es im Formular in eine Schaltfläche übertragen:
    Code:
    Ich erhalte den Hinweis: Fehler beim Kompilieren, erwartet Anweisungsende!
    Es wird die Zeile:
    Code:
    rot markiert.
     
    jobee, 11. Juli 2016
    #3
  4. Prüfen welches Unterformular Focus hat

    Code:
    Vergegenwärtige Dich in der Hilfe mit der korrekten Syntax.
     
    ebs17, 11. Juli 2016
    #4
  5. Hallo,
    Macht es überhaupt Sinn, den Namen des 2. UF noch einmal mit ElseIf abzufragen,
    wo es doch eh nur 2 UFo sind?
    Und bei mehr als zwei, würde man da nicht auch eher zu einem weiteren Select
    Case greifen bzw. es gleich verwenden wegen leichterem Ausbau?
    Danke für Aufklärung.
    gruss ekkehard
     
    Beaker s.a., 11. Juli 2016
    #5
  6. Muss man nicht zuerst ermitteln welches "ufrm..." den Focus hat und dann mit diesem Wert entscheiden welcher Fall vorliegt um dann die entsprechende Aktion durchzuführen? Ehrlich gesagt weiß im Moment noch nicht wie man das aktive ufrm ermittelt?
     
    jobee, 11. Juli 2016
    #6
  7. In einem Formular hat maximal ein (1) Steuerelement (ein Unterformular ist auch nur ein Steuerelement, das i.d.R. ein Formular beherbergt) den Fokus, welches durch Me.ActiveControl ermittelt werden kann. Erst durch die Prüfung der Eigenschaft ControlType lässt sich feststellen, ob es sich dabei um ein Unterformularsteuerelement handelt. Die Eigenschaft Name kann zur Unterscheidung der Unterformularsteuerelemente herangezogen werden.

    Mit anderen Worten: entweder ist ein Unterformulasteuerelement das Steuerelement mit dem Fokus oder nicht.

    FWIW: mit Me.PreviousControl ließe sich analog z. Bsp. beim Knopfklicken ermitteln, ob das Steuerelement, das vor dem Knopf fokussiert war, ein Unterformularsteuerelement war.
     
    Nouba, 11. Juli 2016
    #7
  8. Prüfen welches Unterformular Focus hat

    Fokus finden find ich blöd. Ehe ich einen Fokus suche, setze ich ihn so, wo ich ihn will. Aber eigentlich geht es um Aktionen. Daher sollte man Prüfungen in einen Ablaufkontext sehen und einsetzen.

    Noubas Beispiel betrachtet die Situation vom Hauptformular aus. Da muss man prüfen, wo gerade etwas passiert.

    Daneben könnte man auch so herangehen: Ein Formular kennt sich selber und kann sich auch melden.
    Wenn man davon ausgehen kann, dass in einem der Unterformulare etwas wie eine VBA-Aktion stattfindet und dass die Unterformulare unterschiedliche SourceObjekte haben:
    Code:
     
    ebs17, 11. Juli 2016
    #8
  9. Hi Nouba,
    ich habe entsprechend dem Hinweis von Eberhard den Code nochmal überprüft. Ergebnis:
    Code:
    Es kommt zu keiner Fehlermeldung mehr, aber es wird immer "kein Unterformular hat den Fokus!" angezeigt, egal welches Formular ich vor dem Anklicken der Schaltfläche markiert habe.

    Eberhard mit
    Code:
    wird immer die Bezeichnung des Hauptformulars angezeigt.
     
    jobee, 11. Juli 2016
    #9
  10. Wenn Du eine Schaltfläche anklickst, hat diese selbstverständlich den Fokus - in ahnender Voraussicht habe ich für diesen Fall in #7 einen Hinweis gegeben.
     
  11. Sich SELBST melden kann ein Formular vermutlich nur, wenn es aktiv ist und der angebotene Code dort enthalten ist und ausgeführt wird.
    Die "Überprüfung" zeigt, dass es mit dem Hauptformular schon mal klappt.
    Wie gesagt, nicht nur Code kopieren, sondern zuerst über Abläufe nachdenken.
     
  12. Statt dem Me.ActiveControl habe ich Me.PreviousControl eingesetzt, aber erhalte ich den Hinweis: Methode oder Datenbankobjekt nicht gefunden.
     
  13. Prüfen welches Unterformular Focus hat

    Fehler meinerseits - Screen.PreviousCountrol muss verwendet werden.
     
  14. Diese Funktion steht leider auch nicht zur Auswahl.
     
  15. Nur zur Feststellung des Namens: MsgBox Screen.PreviousControl.Name & " hatte den Fokus"
     
Thema:

Prüfen welches Unterformular Focus hat

Die Seite wird geladen...
  1. Prüfen welches Unterformular Focus hat - Similar Threads - Prüfen Unterformular Focus

  2. Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

    in Microsoft Excel Hilfe
    Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung: Hallo zusammen, ich habe mit etwas verheddert und hoffe auf Eure Hilfe. Die Felder B111 und B112 sind zu Beginn LEER. B111 bietet ein Dropdown-Menü an, welches im Falle der Auswahl "Angebot mit...
  3. Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz

    in Microsoft Excel Hilfe
    Prüfung unterschiedlicher Zellen auf Inhalt und Konsequenz: Hallo zusammen, ich habe einen Code, bei dem ich mehrere voneinander getrennte Zellen auf Befüllung prüfe. Wenn ich mindestens eine nicht befülle, erscheint eine Fehlermeldung und das Script...
  4. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  5. Wartungstermine prüfen und ausgeben

    in Microsoft Excel Hilfe
    Wartungstermine prüfen und ausgeben: Guten Tag zusammen. Ich hoffe ihr könnt mir helfen. Ich möchte mir eine Übersicht erstellen, die mir anzeigt, ob eine Wartung überfällig ist oder nicht. Und zudem ausgibt, wie lange sie...
  6. zwei Zellen prüfen steht was drinnen dann schreib text

    in Microsoft Excel Hilfe
    zwei Zellen prüfen steht was drinnen dann schreib text: Hallo zusammen, mein Problem wenn in der Zelle A1 oder A2 größer 1 dann schreib Text in A3 VG Michael
  7. Mehrere Auswertungen zum prüfen von Nichtnormal- und Normalverteilung

    in Microsoft Excel Hilfe
    Mehrere Auswertungen zum prüfen von Nichtnormal- und Normalverteilung: Morgen, Ich hab eine Exceltabelle mit mehreren Tests erstellt, von Anderson-Darling bis Shapiro-Wilk. Ist noch nix aufgeräumt, noch Version 0.1 quasi. Sinn ist es 23 Zahlen zu prüfen die im...
  8. Prüfen auf geöffnetes Unterformular

    in Microsoft Access Hilfe
    Prüfen auf geöffnetes Unterformular: Hallo zusammen, mittels Code: SysCmd(SYSCMD_GETOBJECTSTATE, acForm, strName) kann man ja auf ein geöffnetes Formular prüfen. Nur wie prüfe ich, ob ein Formular als Unterformular geöffnet ist...
  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