Hello, I am new to C# and .NET. I am working on a application which will run on a number of machines at the same time. All instances will access a single access database in a shared directory. All instances will be able to update the database. What I need to do is detect if another instance has made a change to any table, then update the dataset in the local instance so that all instances will always show current data. I am not sure how to approach this issue. I thought of looking at the connection to the database State Change event but I am not sure a change by another process will trigger this event. I have not been able to find information on what triggers a state change event. I am looking for any suggestions on how to approach this problem.

You've to check the change yourself, there's no way like SqlCacheDependency plus MS ACCESS doesn't support multiple concurrent access to its tables. In your case I recommend you to use SQL Server.