Vergleich 3 Codevarianten zur Datensatzwahl per VBA
Karl Donaubauer
Gesendet: 13.12.12 13:26
Betreff: RE: Vergleich 3 Codevarianten zur Datensatzwahl per VBA



Elite Veteran

Beiträge: 848
50010010010025
Ort: Wien
Hallo, Günther!

grundguenther - 13.12.12
Die gängige Aufgabenstellung per VBA in einem Formular zu einen bestimmten Datensatz zu springen (z.B. nach einen Requery zum vorher aktuellen Datensatz), wird üblicherweise wie folgt gelöst (siehe auch Don Karl FAQ 4.5):

AktID = Me.MyID
Me.Requery
Me.RecordsetClone.FindFirst "MyID=" & AktID
Me.Bookmark = Me.RecordsetClone.Bookmark

Daneben gibt es kürzere Varianten, die genauso zu funktionieren scheinen:
Folgende Variante "verzichtet" auf das RecordsetClone und die Bookmarks:
AktID = Me.MyID
Me.Requery
Me.Recordset.FindFirst "MyID=" & AktID

Folgende Variante "verzichtet" auf das RecordsetClone und Findfirst:

AktBM = Me.Bookmark
Me.Requery
Me.Bookmark = AktBM

Meine Frage wäre nun: Wo ist der Haken bei den kürzeren Varianten. Es hat ja bestimmt einen Grund, warum Don Karl die erste weitergibt!

Ich persönlich gebe seit einigen Jahren in etlichen Newsgroup- und Forenbeiträgen fast immer die zweite von dir genannte Variante weiter.

In der FAQ steht noch die Variante aus den 90er-Jahren als das Formular-Recordset noch nicht direkt ansprechbar war und man den Clone verwenden musste. Der Vorteil dieser Clone-Variante ist, dass sie in allen Access-Versionen funktioniert, das Recordset erst ab Access 2000.

Bis vor relativ kurzer Zeit waren Access97-Anwendungen noch recht verbreitet, inzwischen sind sie sicher seltener. Ich warte bei solchen Dingen immer gerne ein paar Jährchen bevor ich sie durch hypermoderne Dinge ersetze. Werde es aber bald mal tun.

Der dritten Methode würde ich nicht trauen, weil sie einen Fehler produziert, wenn das Lesezeichen nimmer da ist, weil der DS im Code oder sonstwie gelöscht wurde. Me.Recordset.FindFirst hingegen wechselt dann einfach nicht den DS und fertig.

-----
Servus
Karl
*********
https://www.donkarl.com/devcon Access-Online-Konferenz 18.+19.4.
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy...
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page