Close the connection. Maybe something is holding it open.
Also, you probably don't need dynamic cursors.
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Command0_Click()
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb;"
cn.Open
rs.Open "SELECT * From table1", cn, adOpenStatic, adLockOptimistic
rs.AddNew
rs!a = Day(Date)
rs!b = Month(Date)
rs!c = Year(Date)
rs.Update
rs.Close
cn.Close
rsout
End Sub
Sub rsout()
cn.Open
rs.Open "select * from table1", cn, adOpenForwardOnly, adLockReadOnly
Do Until rs.EOF
'print out
Debug.Print rs(0).Value, rs(1).Value, rs(2).Value, rs(3).Value
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub