Further to
Member 3996248
, I'd recommend changing as follows:
Option Explicit
Private cn As ADODB.Connection
Private grs As New ADODB.Recordset
Private Sub Form_Load()
Dim str As String
Dim cmd As String
Dim gql As String
cmd = "provider=Microsoft.jet.OLEDB.4.0;Data Source=D:\AccessDbs\booksdb.mdb"
Set cn = New ADODB.Connection
cn.Open cmd
gql = "select * from book"
grs.CursorLocation = adUseClient
grs.Open gql, cn, adOpenDynamic
Set MyDataGrid.DataSource = grs
End Sub
Private Sub Form_Unload()
grs.Close
Set grs = Nothing
cn.Close
Set cn = Nothing
End Sub