Ah yes, "the user is always right".

The exact benefits of server-side cursors depend on the mix of technologies you use to connect (DAO/ADO/ODBC/OLE DB/...) and the database system you are connecting to.

A quick list of good/bad points can be found here (ADO documentation, but similar for DAO).

Other good points for server-side include:
  • It is generally much faster, especially if the network is slow - as the data does not get transferred to/from your program as much (this is even if you want all of the data in your program, as it can be transferred in smaller chunks rather than waiting for one big transfer).
  • it does not have as many issues when multiple users are working with the same database (such as locked records, which is much less frequent than with client-side).
  • you can see data that other users have changed/added much sooner.
  • ...


The bad points include lack of some features (in ADO you cannot use things like Recordset.Find, or paging), and higher reliance on the network (which is not good if the network is unreliable!).