Effizienz DCount oder FindFirst

01/11/2007 - 08:23 von Olaf Hausdorf | Report spam
Hallo NG,

Unter Acc2003/Win2000 soll festgestellt werden, ob ein Begriff schon im
System vorhanden ist. Welche Methode ist effizienter ?
1. irgendwasCount = DCount("[mein_Begriff]", "meine_Tabelle",
"[mein_Begriff] = '" & meine_Feldeingabe & "'")
2. meine_Tabelle.FindFirst "[mein_Begriff]=" & meine_Feldeingabe

z.B. eingebunden als EreignisProzedur Beim_Verlassen des Feldes
oder gibt es noch etwas eleganteres ?

vielen Dank schon im voraus für Eure Tipps.

Gruß
Olaf
 

Lesen sie die antworten

#1 Jens Schilling
01/11/2007 - 08:45 | Warnen spam
Hallo, Olaf

Olaf Hausdorf wrote:
Hallo NG,

Unter Acc2003/Win2000 soll festgestellt werden, ob ein Begriff schon
im System vorhanden ist. Welche Methode ist effizienter ?
1. irgendwasCount = DCount("[mein_Begriff]", "meine_Tabelle",
"[mein_Begriff] = '" & meine_Feldeingabe & "'")
2. meine_Tabelle.FindFirst "[mein_Begriff]=" & meine_Feldeingabe

z.B. eingebunden als EreignisProzedur Beim_Verlassen des Feldes
oder gibt es noch etwas eleganteres ?



Hmm - es kommt wohl auf die genauen Umstànde an.
Wenn Du z.B. nur doppelte Eingaben vermeiden wolltest, liesse sich das ja
schon auf der Tabellenebene verhindern, indem Du die Eigenschaft <Indiziert>
auf < Ja (Ohne Duplikate) > setzt; damit überlàsst Du Access die Prüfung
schon beim Wegschreiben des Datensatzes.

Da die Domànen-Funktionen ohnehin einen schlechten Ruf geniessen, was die
Geschwindigkeit anbelangt, könnte man an entsprechende Ersatzfunktionen
denken; solche kannst Du z.B. hier finden :

http://www.mvps.org/access/modules/mdl0012.htm

Ansonsten denke ich, ist FindFirst die schnellere Methode.

Gruss
Jens
______________________________
FAQ: http://www.donkarl.com

Ähnliche fragen