>> I certainly would not use dlookup unless i had to - VERY slow. <<
I have put my foot in my mouth with that kind of statement too. It is a very generalized statement that I have found not to be true in MANY more cases than I care to admit. Basically, the domain aggregate functions are, in many situations FASTER, the Allen's code.
-- Here is a clip of a previous thread on the speed of Domain Aggregate functions that applies here too --
The "secret" to fast DA's is proper indexing and utilizing those indexed fields as your criteria for the DA. I used to beleive that the DA's were slow also, even through my own testing (in A97) they were slower than opening recordsets, however, as my knowledge base increased, AND participating in the thread above, I have changed my view on the DA's, and now do NOT shun them! They are quite useful, and simple! I would encourage you to do side by side comparisons on between some recordset "lookups" and the DA's to see which is faster, you might be surprized!
It is important to note, however, that the DA's are NOT ALWAYS faster! ... Like if you have an "Always Open" recordset ... you are probably better off searching that recordset, instead of using a DA to, retrieve a value.
--- End Clip ----
Also, here are a few links to read on your own that have speed data in them ...
http://www.utteraccess.com/forums/showflat.php?Number=1097439&fpart=all#Post1097439 {Note in this thread, my initial post was in defense of "custom" domain ag. functions}
http://www.utteraccess.com/forums/showflat.php?Number=1216828&fpart=all#Post1216828 {This thread has some code and a description of when I have used custom domain ag. functions ... twice as fast as the standard DA}
Ultimately my table designs utilize the stuff the standard Domain Aggregates like, and thus I use the DA functions as I need to (not exhorbitantly, but truly as needed). If I think they are "slow" I will give the custom solution a go.