Regarding optimizing your loops, don't use an expression as the limits in a For... Statement; use variables instead. The limiting expressions get evaluated every iteration. For instance, say you are processing a string:
' This is Slow
For lng = 1 to Len(strText)
' This is Fast
lngCount = Len(strText)
For lng = 1 to lngCount


Don't use immediate ifs, as in:
var = IIf(expr,True,False)
because they execute four times slower than regular If..Then..Else constructs. (And the readability isn't so hot, either.)


For MS-Access, when you create reports, add Docmd.Maximize to the Activate event and Docmd.Restore to the Deactivate event. It's a nice touch.