Write Access Client App for SQL Server 2005 Backend
Although Access has data bound controls, by and large you don't really want to use them for any sort of non-trivial application - partiuclarly if you want to do significant data validation before you save records.

You can use ADO through VBA on Access, much as the same as through VB.  The code to populate a form from a record set is pretty straightforward, and Access comes with a usable set of controls that can be used on a form.

If you're using ADO, the life cycle is that you read the record by issuing a query to the database.  Then you can populate the form from the recordset - this is straightforward to do with VBA.  The 'save' button onclick method calls a validate and save procedure.  You can add whatever other UI code you need to populate dropdowns, enable/disable controls etc.  

You may also want to separate data access into a separate class, depending on the complexity of the application.  This lets you have a M:M relationship between formns and data items with the data access modularised into one place (i.e. one form can gather data from two or more queries by using the appropriate modules).

Beyond this we're getting into the realms of application architecture, which is probably a bigger scope than you had in mind for this question.  There are plenty of books on the subject, including ones specifically about application development with MS-Access.