How can I set up a read only odbc connection? I have a user that needs to do queries on an SQL Server 2008 database that I administrate. They have rights to edit the data, but I'd rather they weren't able to do it directly against the table (i.e., I'd prefer they'd use the application that they were given).

What I'd like to do is give them a Read Only ODBC connection, and hang an MS Access MDB/ACCDB off of it, and let them query to their heart's content without accidentally "updating" data.

Is there a way to do this, or am I stuck having to create a RO user for them to use, and then threaten them with much pain if they connect using their regular RW account? In which case why not threaten them with much pain for editing data outside of the application?
Create a user in SQL Server with only the perms you want them to have. 
Set up the user ODBC string to use this credential 
Profit :)