ich weiß nicht ob es für mein Problem eine Lösung gibt. Habe zumindest in keinem Forum oder unter einer Suchmaschine was gefunden.
Ich gebe einen neuen DS in ein Endlosformular ein. In dem „AfterUpdate“-Ereignis lasse ich das Endlosformular aktualisieren (Me.Requery). Danach markiere ich den gerade bearbeiteten DS:
Nun wird mir dieser Datensatz immer als erste Zeile markiert. Es wäre aber sinnvoll, wenn dieser Datensatz erst in der zweiten oder dritten Zeile markiert wäre. Dies würde einem Scrollen nach unten entsprechen. Es ist wichtig, dass ich sehe, welche DS davor UND dahinter sortiert sind (Briefmarken in einem Album).
Danke für deinen Hilfeversuch. Dann werde ich mal die Offenen Fragen beantworten!
welche Access - Version?
Access 2002
Ich gebe einen neuen DS in ein Endlosformular ein.
das EF ist wonach sortiert?
die Datensatzquelle sieht wie aus? (SQL-String)
die Eingabe erfolgt im Kopf oder Fuss des Formulars?
a) Der SQL-String: „SELECT A.* FROM tblKatalogNr ORDER BY A.intKatalogNr, A.txtKatalogNr“
b) Die Eingabe erfolgt im Detailbereich des Formulars. Speichern erfolgt mit Wechsel DS oder einem „cmdSpeichern“.
In dem „AfterUpdate“-Ereignis lasse ich das Endlosformular
aktualisieren (Me.Requery). Danach markiere ich den gerade
bearbeiteten DS:
also springt Access zur ID, diese ID ist deine Sortierung?
Nein, diese ID ist nicht die Sortierung. Die ID lese ich als eindeutigen Wert aus (AutoWert). Fand ich einfacher als nach zwei Werten „intKatalogNr“ und „txtKatalogNr“ zu suchen (wobei, das schenkt sich wohl nix )
Nun wird mir dieser Datensatz immer als erste Zeile markiert.
logisch, da du genau dort hin springst.
Es wäre aber sinnvoll, wenn dieser Datensatz erst in der
zweiten oder dritten Zeile markiert wäre.
wieso markiert?
Ich meine den DS-Markierer. Ich möchte direkt sehen, welcher DS vor dem geänderten oder neu eingetragenen DS ist. Ich muss ja schließlich die Briefmarke im Album der Reihe nach einsortieren können. Und ich möchte nicht erst jedes Mal scrollen.
Dies würde einem Scrollen nach unten entsprechen.
das kannst du mit SENDKEYS simulieren.
Wie würde das dann gehen?
Es ist wichtig, dass ich sehe, welche DS davor UND dahinter sortiert sind (Briefmarken in einem Album).
aber doch nicht nach ID sortiert?
Nein, siehe oben
Gibt es hier eine Möglichkeit dies zu Steuern?
ich würde z.B. zum passenden Sortierkriterium springen und
/oder einen entsprechenden Filter setzen.
Ich möchte nicht filtern oder sortieren, da ich manchmal auch den DS zwei vorher oder zwei später sehen muss.
ggf. Mit NOMATCH prüfen, ob es die Katalognummer auch gibt,
dann ggf. eine weiter vor springen.
Das habe ich jetzt so gelöst, dass ich einen RS aufrufe, der nach der intKatalogNr und strKatalogNr sortiert und als Bedingung eine kleinere intKatalogNr hat. In dem RS gehe ich auf den letzten DS und dann einen zurück.
Anschließend lasse ich diesen DS wählen und dann den bearbeiteten. Somit habe ich meinen gewünschten Erfolg.
Dein Vorschlag mit „intKatalogNr - 2“ ist mir zu langwierig (ist übrigens ein Integer). Es kann sein, dass ich intKatalogNr=2400 bearbeitet habe und der vorherige wäre intKatalogNr=10. Dann laufe ich eine ziemlich lange Schleife durch.
SENDKEYS simuliert Tasten!
wähle ein Ereignis
öffne den VBA Editor
tippe SENDKEYS
bewege den Cursor auf das Wort SENDKEYS
drücke die Taste F1
Entschuldige meine doofe Frage. Das habe ich in Excel-VBA auch schon verwendet. Und hast ja recht „F1“ hilft weiter…