Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SetFocus auf Feld von Endlosformular

693 views
Skip to first unread message

Michael Schiff

unread,
Oct 31, 2002, 9:51:00 AM10/31/02
to
Hi Leute,

ich habe ein Endlosformular mit einigen Befehlsschaltflächen im
Formularkopf. Wenn eine Befehlsschaltfläche gedrückt wurde, will ich den
Cursor auf ein Feld im Detailbereich setzen. Ich habe in der
Befehlsschaltfläche bei Fokuserhalt einen Verweis auf eine Ereignisproz.
stehen: Me!Filmname.SetFocus
Wenn ich die Befehlsschaltfläche drücke, erscheint folgende Fehlermeldung:
Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft oder Methode
nicht.
Wenn ich den Focus auf ein Feld im Formularfuß setze, dann funktioniert
es. Ich vermute es hängt mit der Eigenschaft Endlosformular ab.
Wie kann trotzdem den Focus auf die erste Position des Endlosformulars
setzen?

Vielen Dank im voraus,

Michel

Ulrich Haarmeyer

unread,
Oct 31, 2002, 12:27:51 PM10/31/02
to
Hallo Henry, hallo Michael.

Das wird eh nicht funktionieren.
In dem Moment wo du im Kopfbereich einen Schalter anklickst, verliert der
Datensatz im Detailberich seinen Fokus.
Also mit anderen Worten, es gibt zu dem Zeitpunkt keinen aktuellen
Datensatz.
Im Endlosformular bezieht sich aber die Bezeichnung Me![<Feldname>].SetFocus
auf den aktuellen Datensatz, weil ja jedes Feld in jedem Datensatz vorhanden
ist. Da es keinen aktuellen Datensatz gibt, funktioniert auch die zuweisung
nicht.

Gruß
Uli


"Henry Habermacher [MVP Access]" <he...@psp-online.com> schrieb im
Newsbeitrag news:aprll1$4a468$1...@ID-30649.news.dfncis.de...
> Hallo Michael
>
> "Michael Schiff" <MSc...@gmx.de> wrote in message
> news:8Zw8w...@MSchiff.gmx.de...

> Bist Du sicher, dass das Feld auch so heisst? Nicht das Datenbankfeld,
> an das das Formularfeld gebunden ist, sondern das Formularfeld selber.
> Versuche auch mal das Formularfeld in txtFilmname umzubenennen und dann
> den Focus auf Me!Filmname zu setzen
>
> Gruss
> Henry
>
> --
> Keine E-Mails auf Postings in NGs senden!
> Don't send e-mails to postings in newsgroups!
> KB: http://support.microsoft.com/default.aspx
> FAQ: http://www.donkarl.com/FAQ/FAQStart.htm
> MVP: http://mvp.support.microsoft.com
>


Henry Habermacher [MVP Access]

unread,
Oct 31, 2002, 11:25:46 AM10/31/02
to
Hallo Michael

"Michael Schiff" <MSc...@gmx.de> wrote in message
news:8Zw8w...@MSchiff.gmx.de...

Bist Du sicher, dass das Feld auch so heisst? Nicht das Datenbankfeld,

Henry Habermacher [MVP Access]

unread,
Nov 1, 2002, 4:58:57 AM11/1/02
to
Hallo Ulrich

"Ulrich Haarmeyer" <Uli1...@hotmail.com> wrote in message
news:OGG0mKQgCHA.1148@tkmsftngp11...


> Das wird eh nicht funktionieren.
> In dem Moment wo du im Kopfbereich einen Schalter anklickst, verliert
der
> Datensatz im Detailberich seinen Fokus.
> Also mit anderen Worten, es gibt zu dem Zeitpunkt keinen aktuellen
> Datensatz.
> Im Endlosformular bezieht sich aber die Bezeichnung
Me![<Feldname>].SetFocus
> auf den aktuellen Datensatz, weil ja jedes Feld in jedem Datensatz
vorhanden
> ist. Da es keinen aktuellen Datensatz gibt, funktioniert auch die
zuweisung
> nicht.

Weit wann soll das so sein?!? Ich habe eben getestet. Microsoft Access
97, SR2a.
Ein Endlosformular angelegt, den Formularkopf sichtbar gemacht, dort
einen Button reingestellt und dieser macht nichts anderes als:

MsgBox "Aktueller Record: " & Me.CurrentRecord & ": " &
Me!MeinFeld.Value
Me!MeinFeld.SetFocus

Es kommt eine Meldung hoch, diese gibt mir eine Recordnummer <> 0 zurück
und den Wert des aktuellen Datensatzes. Diesen siehst Du auch im
Datensatzmarkierer mit einem Pfeil versehen. Danach erhält das Control
MeinFeld den Focus.

Wenn das nicht so wäre, wie Du behauptest, hätte ich mit vielen meinen
Anwendungen plötzlich ziemlich grosse Probleme, weil ich oft im
Formularkopf Buttons drin habe, mit denen Datensätze gelöscht oder die
Details zu einem Datensatz angezeigt werden können.

Es stimmt definitiv nicht, dass kein aktueller Datensatz mehr vorhanden
ist.

Auch die Aussage bezüglich Endlosformular stimmt nicht. Zwar hat jedes
Feld in jeder Instanz des Formulars, dass im Endlosformular angezeigt
wird, den selben Namen, aber nur, wenn das Formular aktiv ist. Sonst
sind die Felder gar nicht ansprechbar. Das kannst Du selber im
Direktfenster im oberen Teil oder im Object Browser nachschauen gehen.
Die aktuelle Instanz ist die mit dem Pfeil im Datensatz Markierer. Ich
wäre schon oft froh gewesen, wenn das nicht so wäre, wie es ist, so dass
ich einfach auch auf andere bereits dargestellte Formularinstanzen des
Endlosformulars zugreifen könnte, aber das geht nicht. Das ist auch der
Hauptgrund, wieso die einzelnen Formularinstanzen des Endlosformulars
nur so schwer mit unterschiedlichen Farben zu versehen sind.

Michael Schiff

unread,
Nov 1, 2002, 4:58:00 AM11/1/02
to
Hi Ulrich,


> Das wird eh nicht funktionieren.

Es funktioniert jetzt so wie ich mir das vorgestellt habe. Die Schalter,
bzw. deren Aktionen wurden bis jetzt über Makros gesteuert. Diese Makros
habe ich jetzt durch VBA ersetzt und direkt nach dem betätigen eines
Schalters springt der Fokus wieder in den Detailbereich. Warum das so ist,
weiss ich auchh nicht, aber Hauptsache ist, es funktioniert.


Gruss,

Michel

Michael Schiff

unread,
Nov 1, 2002, 4:54:00 AM11/1/02
to
Hi Henry,


> Bist Du sicher, dass das Feld auch so heisst? Nicht das Datenbankfeld,
> an das das Formularfeld gebunden ist, sondern das Formularfeld selber.

Ja, das war das erste was ich überprüft habe.


Gruss,

Michel

0 new messages