Sub Form_Current() <des HF>
DoCmd.GoToRecord acDataForm, UF.Name, acLast
end Sub
Dies führt aber immer zu dem Laufzeitfehler: 2489 "Das Objekt "UF" ist nicht
geöffnet!
Das Formular UF ist aber doch zusammen mit dem HF geöffnet !?
Wer kann mir helfen, was mache ich falsch?
Gruß Heinz
Lösung von Jörg Lüders:
Versuche dies:
Setze zuerst den Fokus auf das Unterformular, dann führe
DoCmd.GoToRecord acActiveDataObject, , acNext
aus, und zwar ohne Angabe des Formularnamens.
Wirkung: Access erkennt nun das Unterformular als aktives Formular an und
führt den gewünschten Befehl aus.
Gibt man allerdings den Namen des Formulars so an, wie Du es getan hast,
dann sucht Access ein eigenständiges Hauptformular dieses Namens, das es
natürlich nicht finden kann.
Bei mir klappt das vorzüglich.
--
Gruß aus den Harburger Bergen
Jörg Lüders
Heinz Müller <heinz_...@t-online.de> schrieb in im Newsbeitrag:
uJMj#weL$GA....@cppssbbsa02.microsoft.com...
Martin Beering schrieb in Nachricht <80k1bf$a4i$1...@news00.btx.dtag.de>...
Heinz Müller <heinz_...@t-online.de> schrieb in im Newsbeitrag:
u8LfenfL$GA.254@cppssbbsa05...
> Hallo Martin,
> danke für Deine schnelle Antwort.
> Ich hab es eben gesehen, daß Du das selbe Problem hattest.
> Trotzdem würde ich gerne wissen, wie ich das Unterformular in der
GoToRecord
> Anweisung exakt angeben kann um nicht voher den Fokus auf das UF setzen zu
> müssen. Mit der Lösung nach der FAQ 4.2 wie von Karl beschrieben
> funktioniert es bei mir nämlich auch nicht. Ich habe schon alle möglichen
> Varianten ausprobiert, aber bisher ohne Erfolg!
> Gruß Heinz
>
Warum möchtest du denn nicht zuerst den Focus auf das UF setzen?
Wenn du dich nicht an die Programierregeln in Access halten willst, solltest
du dir dein eigenes Programm schreiben ... :)
Es wird nun halt einmal das UF im HF innerhalb eines Steuerelementes
eingefügt.
Darauf musst du zuerst verweisen, um dann auf das darin enthaltene Formular
zugreifen zu können.
--
Gruss vom berg
Access-FAQ http://members.eunet.at/donkarl/
Falls das nicht gewünscht ist, bleibt wohl nur:
1. Sich das aktuelle Control merken (Screen.ActiveControl.Name)
2. Fokus auf UFo
3. ...GoToRecord...
4. Fokus zurück auf Ursprungscontrol (siehe 1.)
Jörg Lüders schrieb in Nachricht <80m5ma$fi2$1...@news05.btx.dtag.de>...