DAO/链接表/ADO/ADP
access中ADO与DAO格式的区别和写法【总结】
2013-10-06 15:59:02

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