JayN Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 Hallo, wie kann ich per VBA unter Access feststellen, ob ein Steuerelement den Fokus hat? Gruß JayN
Commander_COM Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 mÃt IsChecked()???? hab da noch irgendwas im Hinterkopf...
JayN Geschrieben 6. Februar 2003 Autor Geschrieben 6. Februar 2003 Leider finde ich in Access solch einen Befehl nicht. Gruß JayN
Der Kleine Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 mit .setfocus() kann man nen Fokus setzen. mit .gotfocus() kann man Ereignisse aufrufen, wenn Steuerelement Fokus erhält. mit .lostfocus() kann man Ereignisse aufrufen, wenn Steuerelement Fokus verliert. Problem: Falls die Abfrage nach dem Klicken auf einen Button erfolgt, ist der Fokus schon beim Button. Falls der Fokus verschoben werden muß, um Felder z. B. zu deaktivieren, einfach einem Steuerelement, welches Aktiv bleibt den Fokus zuschicken (.setfocus()). Dieses Steuerelement kann auch die Größe 0 haben, ist somit nicht auf dem Formular zu erkennen.
JayN Geschrieben 6. Februar 2003 Autor Geschrieben 6. Februar 2003 Das Problem sieht folgender Maßen aus: Ich habe ein Formular, welches mehrere Textfelder besitzt. Beim Verlassen eines bestimmten Feldes soll eine Prozedur ausgeführt werden, aber nur wenn es in eine bestimmte Richtung (soll heißen: zu einem bestimmten anderen Textfeld hin) verlassen wird. Deswegen möchte ich prüfen, ob dieses zweite Textfeld den Fokus erhalten hat. Gruß JayN
Commander_COM Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 Probiers mal mit der eigenschaft checked Bsp: [Auszug] If CheckBox(i).Checked = True Then blablabla End If
Der Kleine Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 Vorschlag : Nichtsichtbares Textfeld (als Quelle). Bekommt ja, wenn fokus vom ersten Steuerelement verschwindet: sub ErstesTextfeld.lostfocus() textfeld.caption="ja" endsub beim zweiten Steuerelement : sub ZweitesTextfeld.gotfocus if textfeld.caption="ja" then blablabla endif endsub blablabla wird nur gemacht, wenn Quelle des erste Steuerelement und Ziel das zweite Steuerelement war.
JayN Geschrieben 6. Februar 2003 Autor Geschrieben 6. Februar 2003 Ok, so kann man das Problem wirklich umgehen. Danke. Aber so eine Funktion, die zurückgibt, welches Element den Fokus hat, wäre trotzdem nicht schlecht. Braucht man immer wieder. Das Problem ist jetzt gelöst. Danke. Gruß JayN
Olli_Master Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 Man muss nur an der richtigen Stelle suchen: Access 97 Online-Hilfe: Sie können die Eigenschaft ActiveControl zusammen mit dem Screen-Objekt verwenden, um das Steuerelement zu kennzeichnen oder auf das Steuerelement zu verweisen, das den Fokus besitzt. Also: MsgBox Screen.ActiveControl.Name
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden