I program for all versions, I don't use the user interface much in what I do, on large corporate networks we really just want Access to program the user interface forms and reports for quick frontend apps where data and queries are all handled on SQL Server via Access VBA using ADO , when you are dealing with hundreds of clients, it could be anything from Access 97 on up, so you usually write the app using 2003 to create what objects you need with pointer-safe redirects in your code to handle 64 bit versions, and you get a product that will easily deploy to all versions. We generally use Access to do down and dirty apps where you need quick results, for anything industrial strength we use VSTO/Excel and VB.net.