Discussion:
DoCmd.GoToRecord, , acLast - funktioniert nicht
(zu alt für eine Antwort)
Günther Pachschwöll
2010-01-23 22:27:10 UTC
Permalink
Hallo zusammen,

ich habe ein Problem bei dem ich nicht weiterkomme.

Ich habe ein Unterformular in dem die Stundeneingabe eines
Mitarbeiters in einem Datenblatt
dargestellt ist. Ich habe mir dazu zwei Buttons gemacht mit denen ich
Monatsweise vor und
zurückblättern kann. Soweit so gut. Jetzt soll aber der Focus in dem
Tabellenblatt auf dem
letzten Datum zu liegen kommen. Jetzt habe ich versucht mit

Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
DoCmd.GoToRecord, ,acLast

an das Ende der Tabelle zu gehen. Leider ohne Erfolg. Wenn ich aber
das ganze mit Sendkeys

Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
SendKeys "^{END}"

mache passiert das was ich will. Der Nachteil an der Sendkeys Methode
ist, dass der Numlock bei den Tastaturen ausgeschalten wird, was bei
einem Programm, das viel über diesen gefüllt wird lästig.

Ich habe auch schon gegoogelt aber dazu habe ich nichts wirklich
gefunden. Der Focus auf dem Feld stimmt das habe ich schon überprüft
bzw. mache ich das mit

Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus

hat dazu noch jemand einen Tip für mich woran das liegen könnte?

Danke Günther
Karl Donaubauer
2010-01-23 23:43:36 UTC
Permalink
Post by Günther Pachschwöll
...
Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
DoCmd.GoToRecord, ,acLast
an das Ende der Tabelle zu gehen. Leider ohne Erfolg.
Fehler sehe ich keinen, außer dass "Datum" ein ungünstiger
Name ist, weil es ein Funktionsname in Access ist.
Sollte hier aber keine Rolle spielen.

Wenn deine Access-Version >= 2000 ist, kannst du alternativ
zu GoToRecord das versuchen:

Me!ufrmStundenliste.Form.Recordset.MoveLast
Post by Günther Pachschwöll
Wenn ich aber das ganze mit Sendkeys
Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
SendKeys "^{END}"
mache passiert das was ich will. Der Nachteil an der Sendkeys
Methode ist, dass der Numlock bei den Tastaturen ausgeschalten
wird, was bei einem Programm, das viel über diesen gefüllt wird
lästig.
...
SendKeys wäre natürlich eine fürchterbare Notlösung. s.a.

Numlock-Taste (SendKeys)
www.donkarl.com?FAQ7.8
--
Servus
Karl
****************
Access-FAQ: http://www.donkarl.com /// http://www.donkarl.com?NEK
.NET-Entwickler-Konferenz für Accessler 27./28.2.2010
Günther Pachschwöll
2010-01-24 08:40:17 UTC
Permalink
Hallo Karl,
Post by Karl Donaubauer
Fehler sehe ich keinen, außer dass "Datum" ein ungünstiger
Name ist, weil es ein Funktionsname in Access ist.
Sollte hier aber keine Rolle spielen.
Das mit der Bezeichnung Datum ist zwar nicht optimal,
ich habe aber auch versucht mit einer anderen Bezeichnung
zur arbeiten, hat aber keine Änderung gebracht.
Post by Karl Donaubauer
Wenn deine Access-Version >= 2000 ist, kannst du alternativ
Me!ufrmStundenliste.Form.Recordset.MoveLast
Danke für den Tip, damit habe ich was anfangen können. Geht viel
eleganter als die Lösung die ich noch gefunden hatte. Ich habe den
Focus von meinem Formular wegwechseln lassen (Formular im Hintergrund
öffnen und gleich wieder schließen, hat auch funktioniert). Ich habe
jetzt einen weiteren Weg den ich probieren kann.

Danke
Günther
Winfried Sonntag
2010-01-24 09:29:06 UTC
Permalink
Post by Günther Pachschwöll
Das mit der Bezeichnung Datum ist zwar nicht optimal,
ich habe aber auch versucht mit einer anderen Bezeichnung
zur arbeiten, hat aber keine Änderung gebracht.
Ändere auf jeden Fall die Bezeichnung. Es wird der Zeitpunkt kommen,
an dem Du es bereust es /nicht/ jetzt gemacht zu haben. ;)

Servus
Winfried
--
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
KnowHow.mdb: http://www.freeaccess.de/knowhow.asp
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de
Karl Donaubauer
2010-01-24 13:09:41 UTC
Permalink
Post by Günther Pachschwöll
...
Post by Karl Donaubauer
Wenn deine Access-Version >= 2000 ist, kannst du alternativ
Me!ufrmStundenliste.Form.Recordset.MoveLast
Danke für den Tip, damit habe ich was anfangen können. Geht viel
eleganter als die Lösung die ich noch gefunden hatte. Ich habe den
Focus von meinem Formular wegwechseln lassen (Formular im
Hintergrund öffnen und gleich wieder schließen, hat auch
funktioniert). Ich habe jetzt einen weiteren Weg den ich probieren
kann.
Selbst wenn der o.a. Workaround funktionieren sollte, würde ich
weiter nach den Ursachen fahnden.

Ich nehme mal an "Funktioniert nicht" und "Leider ohne Erfolg"
sollen bedeuten, dass bei GotoRecord nichts passiert. Falls du
hingegen eine Fehlermeldung bekommst, solltest du sie natürlich
hier anführen.

Eine mögliche Ursache wären Codes oder Makros, die die
Ausführung von GoToRecord behindern. Daher solltest du alle
Codes, die sich auf dem Weg befinden testweise auskommentieren.
Beim Hingehen zum UFo, Beim Anzeigen des UFos,
Beim Hingehen der Steuerelemente im UFo etc.
--
Servus
Karl
****************
Access-FAQ: http://www.donkarl.com /// http://www.donkarl.com?NEK
.NET-Entwickler-Konferenz für Accessler 27./28.2.2010
Günther Pachschwöll
2010-01-25 19:51:04 UTC
Permalink
Hallo Karl,
Post by Karl Donaubauer
Selbst wenn der o.a. Workaround funktionieren sollte, würde ich
weiter nach den Ursachen fahnden.
Ich nehme mal an "Funktioniert nicht" und "Leider ohne Erfolg"
sollen bedeuten, dass bei GotoRecord nichts passiert. Falls du
hingegen eine Fehlermeldung bekommst, solltest du sie natürlich
hier anführen.
Eine mögliche Ursache wären Codes oder Makros, die die
Ausführung von GoToRecord behindern. Daher solltest du alle
Codes, die sich auf dem Weg befinden testweise auskommentieren.
Beim Hingehen zum UFo, Beim Anzeigen des UFos,
Beim Hingehen der Steuerelemente im UFo etc.
Ich bin gerade dabei das Formular neu zu erstellen, damit ich mir
sicher bin das kein Makro oder Codes dazwischenstehen. Danke nochmal

Günther

Matthias Körner
2010-01-24 09:19:11 UTC
Permalink
Hallo Günther,

"G�nther Pachschw�ll" <***@aon.at> schrieb im Newsbeitrag news:2660885c-70ce-41a1-a6c7-***@k19g2000yqc.googlegroups.com...
Hallo zusammen,

ich habe ein Problem bei dem ich nicht weiterkomme.

Ich habe ein Unterformular in dem die Stundeneingabe eines
Mitarbeiters in einem Datenblatt
dargestellt ist. Ich habe mir dazu zwei Buttons gemacht mit denen ich
Monatsweise vor und
zurückblättern kann. Soweit so gut. Jetzt soll aber der Focus in dem
Tabellenblatt auf dem
letzten Datum zu liegen kommen. Jetzt habe ich versucht mit

Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
DoCmd.GoToRecord, ,acLast

an das Ende der Tabelle zu gehen. Leider ohne Erfolg. Wenn ich aber
das ganze mit Sendkeys

Me!ufrmStundenliste.Requery
Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus
SendKeys "^{END}"

mache passiert das was ich will. Der Nachteil an der Sendkeys Methode
ist, dass der Numlock bei den Tastaturen ausgeschalten wird, was bei
einem Programm, das viel über diesen gefüllt wird lästig.

Ich habe auch schon gegoogelt aber dazu habe ich nichts wirklich
gefunden. Der Focus auf dem Feld stimmt das habe ich schon überprüft
bzw. mache ich das mit

Me!ufrmStundenliste.SetFocus
Me!ufrmStundenliste!Datum.SetFocus

hat dazu noch jemand einen Tip für mich woran das liegen könnte?

versuch mal Folgendes::

Forms("frmStundenliste")("ufrmStundenliste").Requery
Me!ufrmStundenliste.SetFocus
DoCmd.GoToRecord, ,acLast

Gruß
Matthias
Günther Pachschwöll
2010-01-25 19:49:39 UTC
Permalink
Hallo Matthias,
Post by Matthias Körner
Forms("frmStundenliste")("ufrmStundenliste").Requery
Me!ufrmStundenliste.SetFocus
DoCmd.GoToRecord, ,acLast
Dein Tip hat funktioniert. Danke Günther
Loading...