ADO和DAO都是操作数据表的方法。此两者即有相同又有不同:
ADO(ACTIVEX DATA OBJECTS)应用层的数据访问接口 ,DAO (DATA ACCESS OBJECTS) 对象的数据访问接口 ,也就是说ADO是它使用OLEDB接口而不是ODBC,DAO是access的产物,而ADO即应用在多种语言。
新增事件
Dim rst As ADODB.Recordset 定义ADO记录集
Dim strSQL As String 定义strsql,在下面要用到,具体用时,具体定义。
……….
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open strSQL, CurrentProject.Connection, 2, 3
rst.AddNew 注:新增,修改为edit,删除为delete
……..
rst.Update 注:新增与修改都需要更新记录集,删除与加载则不需要这句。
rst.Close
Set rst = Nothing
新增事件
Dim rst As DAO.Recordset 定义DAO记录集
Dim strSQL As String
……
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rst.AddNew
……..
rst.Update
rst.Close
Set rst = Nothing
加载事件
Dim rst As ADODB.Recordset 定义ADO记录集
…….
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open strSQL, CurrentProject.Connection, 2, 3
rst.MoveFirst 移动到第一条
…..
rst.Close
Set rst = Nothing
加载事件
Dim rst As DAO.Recordset 定义DAO记录集
……..
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rst.MoveFirst
…….
rst.Close
Set rst = Nothing
修改事件
Dim rst As ADODB.Recordset 定义ADO记录集
……
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open strSQL, CurrentProject.Connection, 2, 3
rst.MoveFirst
rst.EditMode
…….
rst.Update
rst.Close
Set rst = Nothing#p#分页标题#e#
修改事件
Dim rst As DAO.Recordset 定义DAO记录集
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rst.MoveFirst
rst.Edit
……
rst.Update
rst.Close
Set rst = Nothing
删除事件
Dim rst As ADODB.Recordset 定义ADO记录集
……..
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open strSQL, CurrentProject.Connection, 2, 3
rst.MoveFirst
rst.Delete '删除
rst.Close
Set rst = Nothing
删除事件
Dim rst As DAO.Recordset 定义DAO记录集
……..
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rst.MoveFirst
rst.Delete '删除
rst.Close
Set rst = Nothing