If you ever work with MS Access and classic ASP apps, the first thing you do is give the IUSR account modify/write access to the folder and the .mdb file. That fixes the issue. Not true with ASP.NET.
Over the weekend I spent waaaay too much time trying to fix this issue in ASP.NET on a Windows 2003 box. I was racking my brain trying to figure out what the heck I was missing. I found a thread on how to fix the issue over at the asp.net forums. The thread is locked and 4 pages long but it appears that they've updated the first message a time or two. To keep someone else from spending the time reading the thread I'm going to give you the low-down on what I did. This will also serve as a bookmark for me.
1. Add < identity impersonate="true" /> in web.config of your application.
2. Give the Network account modify/write access to folder and .mdb file.
That's it. I intially thought that the ASPNET or IUSR account would be the account needing the access. Reading through the thread though I find this comment from Ken Shaefer:
"If you are using Windows2003 server, then the w3wp.exe process identity runs under whatever you have configured for the Application Pool that the application is in. There are no ASP.Net worker processes (like in Windows 2000 Server, unless you are using IIS v5 Isolation Mode rather then IIS6 Worker Process Isolation Mode)
Typically this is NT AUTHORITY\Network Service"
Side note: When I started working on this I was going to give VistaDB a shot. Then I found out that it doesn't handle stored procedures (version 3.0 will). I guess I was under the impression that it did and that is a HUGE advantage over MS Access. Maybe I need to work with it more and then I'll see its advantages over MS Access.
Anywho, I hope this is helpful for others in search of the updateable query issue.