PDA

Vollständige Version anzeigen : GoToRecord tut nicht wie es soll


RIDDLER
08.08.2001, 13:39
Hi

Habe folgendes Problem:

Ich habe in einem Formular ein Unterformular. Wenn ich das Unterformular verlasse (OnExit), soll der Datensatzzeiger auf den ersten Datensatz gesetzt werden. Dafür benutze ich diese Zeile:

DoCmd.GoToRecord acDataForm, "UF_Zeiterfassung_Stundenberechnung", acFirst

UF_Zeiterfassung_Stundenberechnung ist mein Unterformular.

Wenn ich das ganze ausführe meldet sich der Debugger mit der Meldung:

Laufzeitfehler '2489':
Das Objekt 'UF_Zeiterfassung_Stundenberechung' ist nicht geöffnet.

Ich verstehe die Meldung deswegen nicht, weil das Unterformular doch offen ist. (????)

Danke im Voraus

Ace
08.08.2001, 13:47
Hi Riddler,

auf Grund der Fehlermeldung scheint es mir, daß Access beim Ereignis OnExit zuerst das Objekt (in diesem Fall Dein Unterformular) schließt und dann erst den Code ausführt. Das bedeutet, daß das Unterformular sehr wohl bereits geschlossen ist, wenn Du den Zeiger setzen willst. Tja, äh ... Lösungsvorschlag: Wenn Du einen Button oder ähnliches hast, der Dein Unterformular schließt, dann beue Deinen Code dorthinein, bevor Du das Unterformular schließt.
Nur n Vorschlag, habe momentan keine Zeit das ganze auszuprobieren.

RIDDLER
08.08.2001, 13:59
Aja, stimmt :rolleyes:

Das mit dem Button ist bei mir leider nicht möglich, weil es automatisch funktionieren soll. (typisch User ;)

Ich werde weiterschauen, nach einer Lösung.

Trotzdem Danke

Birgit Dannenberg
08.08.2001, 14:13
hallo,

das Unterformular wird beim Verlassen nicht geschlossen, es läßt sich nur nicht wie ein Hauptformular ansprechen.

Lass mal die Parameter weg und probier es noch einmal, bei mir klappt das so:

DoCmd.GoToRecord ,,acfirst

beim Verlassen des Unterformulars.


Sind Haupt- und Unterformular den nicht verknüpft???


Gruß Birgit

Morli
08.08.2001, 14:25
Hallo Riddler,

ich habe auch schon festgestellt, das Access das UFo in diesem Fall nicht als Formular, sondern als Control behandelt. Soll heißen, obwohl das Formular als Unterformular geöffnet ist, erscheint es nicht in der Auflistung Forms (die ja alle geöffneten Formulare enthält)!
Abhilfe:

Me.UF_Zeiterfassung_Stundenberechnung.SetFocus
DoCmd.GotoRecord , , acFirst

Gruß

Rainer ;)