well ado.net and oledb.net is not an option because this is for work and I am working on code that was written by someone else. If I change all instances of DAO usage, it will take forever. I already know how to use OleDB to query and display results in datagridview. However, in existing code, the application connects to the database using DAO when form is loading, queries it many times while running, and then closes it when the Gui is closed. The problem is that if I insert the OleDB code to display the result while the same database is already open using the DAO, one of them does not close properly and when I exit the application, an instance of MSAccess exists in system processes. I can't kill the MSAccess.exe process because that might kill other versions of the program that are running. Do you have any other solutions to how I can use both DAO and OleDb and have both databases closed on form closing.

Here is my code for OLEDb as well:
Code:
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb"
Dim SQLString As String = "SELECT * FROM Table1"
Dim OleDBConn1 As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(ConnString)
Dim DataSet1 As New DataSet()
Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(SQLString, OleDBConn1)
OleDBConn1.Open()
OleDbDataAdapter1.Fill(DataSet1, "Table1")
DataGridView3.DataSource = DataSet1.Tables("Table1")
OleDBConn1.Close()