Each PC will run its own instance/instances of the app. It's up to you as the developer to provide the app the ability to communicate with the database on the server. Using Access as a database is a real pain (and it's also limited to a 2GB file size), and as such I'd recommend using SQL Server. Also, ADO.NET uses a disconnected data object model in that the app does not persist any connection to the database - it connects, retrieves data & disconnects. This allows your apps to be far more scalable however, concurrency of records then becomes an issue. Learning ADO.NET[^] Introduction to Data Concurrency in ADO.NET[^]