ich möchte beim Drücken meines Buttons "neuer Datensatz" im Formular, dass der Fokus auf das erste Eingabefeld ("Nachname") gesetzt wird. Der Button ist mit der Aktion "Neuer Datensatz" versehen. Jetzt hab ich bei Ereignissen sowohl bei "Beim Auslösen" als auch "Taste losgelassen" ein Makro angegeben, welches den Fokus auf das gewünschte Feld setzen soll. Ich hab auch zwei Möglichkeiten versucht, klappen aber beide nicht. Ist an dem Code was falsch? Wie geht es richtig?
Sub FokusSetzen
oDoc = thisComponent
oForm = oDoc.drawpage.forms.getbyindex(0)
oCon = oDoc.getCurrentController
oFormFeld=oForm.getbyname("txtNachname")
oCon.getControl(oFormFeld).setFocus
End Sub
Sub FokusSetzen
Dim oFeld as Object
oForm = ThisComponent.drawpage.forms.getByName("MainForm")
oFeld = oForm.getByName("txtNachname")
oForm.getCurrentController().getControl( oFeld ).setFocus()
End Sub
Gruss
Bert
Zuletzt geändert von gigabert am Do, 03.09.2009 13:58, insgesamt 1-mal geändert.
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
klappt leider auch nicht. Nach dem Klick auf den "neuer Datensatz"-Button wird das Formular geleert (wie gewünscht) und der Fokus springt auf den Button darunter, der in der Aktivierungsreihenfolge nach dem "neuer Datensatz"-Button kommt.
Gruss
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3
Nimm das Makro mal von dem PushButton weg!
Ich vermute, daß das Makro in Verbindung mit der Aktion "neuer Datensatz", ausgelöst über den PushButton, garnicht aufgerufen wird.
Das könntest Du allerdings leicht feststellen, indem Du eine msgbox mit irgendeiner Nachricht in Deinem Makro aufrufst.
Allerdings dürfte der bessere Weg für Dein Anliegen der folgende sein:
Binde das Makro auf Formularebene an das Ereignis "nach der Datensatzaktion" oder "nach dem Datensatzwechsel".
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
das mit der MsgBox ist echt ne prima Idee. Hab das mal eingebaut, und tatsächlich wurde das Makro über den Button so erst garnicht aufgerufen. "Nach der Datensatzaktion" beim Formular klappte auch nicht, aber "Nach dem Datensatzwechsel" ging. Da hatte ich eh schon ein Makro angebunden und nur noch den Code dazugefügt. Jetzt klappt es mit dem Fokus. Danke euch beiden...
Gruss
Bert
OpenOffice 3.1.1 unter Debian 5.0 und mit PostgreSQL 8.3