<hr>What do you mean about using the server-side cursor? <hr>That's what you're requesting when you use this:
.CursorLocation = adUseServer
If your backend were SQL Server, this would tell ADO to execute the cursor on the server rather than in the front end. Since your backend is Jet, this is meaningless and you might as well use adUseClient.
<hr>Can you suggest another way to open the recordset using a linked table<hr>I'm not sure what you're trying to do. If you're using an unbound form, then you should be able use an ADO recordset without any problems, although performance may be impaired if the recordset is very large.
It sounds like you're trying to create something usually referred to as a pick list, where you select items from one listbox and move them to another listbox, removing them from the first. If that's the case, you don't need to do anything with the recordset until you've made all the changes you require, and then you can run a single routine to update the records in the second listbox to the underlying table. Just in case that's what you're trying to do, I'm going to attach an Access 2000 sample of a pick list form. There's no recordset manipulation going on here, just moving the items back and forth between the lists to show you how it can be done.