I suspect that this is one of those leftover functions that originally came from Visual Basic, which the VBA languages were based on....and doesn't do what common sense would dictates it does!
What DLast() actually does is return a random record from a particular field in a table or query when you simply need any value from that Field from any Record...it does not return the value from that Field from the last Record!
Per VBA Help:
"If you want to return the first or last record in a set of records (a domain), you should create a query sorted as either ascending or descending and set the TopValues property to 1. From Visual Basic, you can also create an ADO Recordset object and use the MoveFirst or MoveLast method to return the first or last record in a set of records."
Hope this helps!
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007