You know, you're always seeing someone saying this in forums, usually people with no real knowledge of the facts, but simply parroting what they've seen someone else write. After years of using DLookUp() without any noticeable loss of performance, I finally asked one of the top Access developers in the world about it. He rather sheepishly said that it did in fact make a difference, but only if you were dealing with recordsets that held a couple of million records!
People tend to learn something and commit it to memory and never adjust it to new realities. When I started out twenty years ago, with a PC with 20mb hard drive, writing tight code was all the rage, by necessity. Reducing two lines of code to one saved important space! Today, with hard drive being measured in gigs, I'd rather write 5 lines of code than 1 line, if it makes the intent of the code clearer.
Likewise, CPU speed has increased so dramatically that things we used to worry about don't really matter any more. From time to time you'll see questions, here and elsewhere, about throwing up a form saying "Please wait while records load!" where the form closes after the records have loaded. The complaint is that the form never appears. The truth, however, is that the form has appeared, as programmed, and closed, as programmed, after the records have loaded. This all has simply happened so fast that the human eye couldn't register the appearance of the form!
Sure, I'd open a recordset rather than use 10 DLookUps against a single table. But if I was looking up one field in ten tables? Would I go to the trouble of opening and looping thru 10 recordsets? No, I'd use 10 DLookUps.