Elite Veteran
Beiträge: 876
Ort: Wien | Hallo, Peter!
PeterDoering - 08.05.20 20:31
Karl Donaubauer - 07.05.20 17:16
Ich bin da ganz anderer Meinung: dbOpenTable+Index+Seek ist die schnellste Methode, egal, in welcher DAO-Version. Die gute, alte, übliche Folgefrage ist dann abgehandelt in
Seek bei eingebundenen Tabellen
http://www.donkarl.com?FAQ6.10
Da kannst du gleich http://www.donkarl.com?FAQ1.35 hinterherschicken, denn damit ist Seek Geschichte.
Naa, es gibt Fälle, in denen dbOpenTable samt OpenDatabase für nicht-lokale Tabellen schneller ist als FindFirst. Das Thema erledigt sich also nicht einfach damit, dass es eingebundene Tabellen gibt.
... Die klassische Anwendung von OpenTable war seinerzeit, die gesamte Tabelle oder das Recordset zu öffnen und dann mit dem schnellen Seek zum gesuchten Datensatz zu springen, was man besser und schneller über die WHERE-Klausel macht...
In der Regel ja, es gibt aber in meiner Praxis (übrigens mit mehr MDB/ACCDB- als SQL Server-BEs) ab und zu Fälle, wo man mit FindFirst & Co herumhüpfen muss (Vergleiche etc.). Dann kann sich Seek auszahlen. Ich verwende es also nicht als Standardmethode sondern zur Performanceoptimierung in seltenen Fällen.
Es ist weder veraltet noch nicht mehr empfohlen. Sowas steht in keiner MS-Doku. Sämtliche DAO-Methoden gibt es seit Access 1.1 (erste Version mit Access Basic+DAO) fast unverändert (WHERE-Klauseln noch länger), mit Ausnahme von ein paar Konstantenbezeichnungen und DAO-Rufzeichen statt -Punkt, mit deren Modernisierung wir nach 2.0 Geld verdient haben. ;-)
Ich habe übrigens letzte Woche (!) noch so einen 2.0-Kandidaten als Modernisierungsanfrage reinbekommen, und die Bücherregale, die man in Webkonferenzen hinter mir sieht, enthalten Programmierreferenzen ab 1.1.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |