Ich hab dzt. folgendes Problem:
1 Hauptformular mit 2 Unterformularen, bei Form_Current (also
Datensatzwechsel) des Hauptformulars möchte ich, dass in den beiden
Unterformularen "GotoRecord acNewRec" ausgeführt wird.
Dazu hab ich folgende Stück Code in Form_Current() des Hauptformulars
eingefügt:
DoCmd.GoToControl ("UFo1Controlname")
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToControl ("UFo2Controlname")
DoCmd.GoToRecord , , acNewRec
Problem: er führt bereits das erste "DoCmd.GoToRecord , , acNewRec" für
das Hauptformular aus und nicht für das Unterformular.
Versteh nicht woran das liegt, da ich ja eh den Fokus auf das
Unterformular setze.
Zu sagen ist dazu: Das tritt nur auf wenn ich den Datensatz des
Hauptformulars durch Klick in die SplitView wechsle.
Wenn ich ganz normal mit Buttons hinter denen "DoCmd.GoToRecord , ,
acNextRec" steht den DS wechsle gehts einwandfrei..
Hat jemand eine Idee?
mfG,
--Michael
Michael Steiner wrote:
> 1 Hauptformular mit 2 Unterformularen, bei Form_Current (also
> Datensatzwechsel) des Hauptformulars möchte ich, dass in den beiden
> Unterformularen "GotoRecord acNewRec" ausgeführt wird.
>
> Dazu hab ich folgende Stück Code in Form_Current() des Hauptformulars
> eingefügt:
>
> DoCmd.GoToControl ("UFo1Controlname")
> DoCmd.GoToRecord , , acNewRec
> DoCmd.GoToControl ("UFo2Controlname")
> DoCmd.GoToRecord , , acNewRec
>
> Problem: er führt bereits das erste "DoCmd.GoToRecord , , acNewRec" für
> das Hauptformular aus und nicht für das Unterformular.
> Versteh nicht woran das liegt, da ich ja eh den Fokus auf das
> Unterformular setze.
Und wo setzt du den Fokus? Probier mal so:
Me!UFo1Controlname.SetFocus
DoCmd.GoToRecord , , acNewRec
Me!UFo2Controlname.SetFocus
DoCmd.GoToRecord , , acNewRec
> Zu sagen ist dazu: Das tritt nur auf wenn ich den Datensatz des
> Hauptformulars durch Klick in die SplitView wechsle.
Weil dann der Fokus wieder im HF liegt.
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Vielen Dank erstmal für deine Antwort,
> Und wo setzt du den Fokus? Probier mal so:
Ich setz den Fokus im Form_Current des Hauptformulars.
> Me!UFo1Controlname.SetFocus
> DoCmd.GoToRecord , , acNewRec
> Me!UFo2Controlname.SetFocus
> DoCmd.GoToRecord , , acNewRec
Dann wird Fehler 2110 geworfen, "Cannot move focus to the control
<subform-controlname>"
>> Zu sagen ist dazu: Das tritt nur auf wenn ich den Datensatz des
>> Hauptformulars durch Klick in die SplitView wechsle.
>
> Weil dann der Fokus wieder im HF liegt.
Naja, aber wird nicht zuerst Form_Current für das Hauptform ausgeführt?
Darin setz ich ja explizit den Fokus auf das Subform..und erst dann ruf
ich DoCmd.GotoRecord auf...
Hmm...
Grüsse,
Michael
Michael Steiner wrote:
>
>> Me!UFo1Controlname.SetFocus
>> DoCmd.GoToRecord , , acNewRec
>> Me!UFo2Controlname.SetFocus
>> DoCmd.GoToRecord , , acNewRec
>
> Dann wird Fehler 2110 geworfen, "Cannot move focus to the control
> <subform-controlname>"
In welcher Zeile?
Ueberpruef die Namen der Steuerelemente. Merke: du musst den Namen des
Steuerelements angeben, nicht den des darin enthaltenen UFos. Falls beide
gleich sind, gib dem Steuerelement einen anderen Namen und benutze den
neuen Namen in SetFocus.
Wenn die Adressierung stimmt, funktionieren die Zeilen, gerade getestet.
>>> Zu sagen ist dazu: Das tritt nur auf wenn ich den Datensatz des
>>> Hauptformulars durch Klick in die SplitView wechsle.
>>
>> Weil dann der Fokus wieder im HF liegt.
>
> Naja, aber wird nicht zuerst Form_Current für das Hauptform ausgeführt?
> Darin setz ich ja explizit den Fokus auf das Subform..und erst dann ruf
> ich DoCmd.GotoRecord auf...
> Hmm...
s.o.