Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

DAO与ADO格式

时 间:2013-05-24 17:02:19
作 者:小赵   ID:30394  城市:兰州
摘 要:www.accessoft.com
正 文:

这是本人在做ADO与DAO代码示例时总结的,相同之处与特别之处已作标注。 

新增事件

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

修改事件

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

 如有错误之处,欢迎指点修改。谢谢。

不论ADO还是DAO,只要达到效果目的就行。只会一种也就够了。

若以后打算后台升迁到SQL,那保存数据最好用ADO,速度更快

新增保存
    Dim rst As ADODB.Recordset
    Dim strSQL As String
    Set rst = New ADODB.Recordset
    strSQL = "select * from tblcode_lj"
    rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    rst.AddNew

修改加载
    Dim rst As New ADODB.Recordset
    Dim strSQL As String
    strSQL = "select * from tblcode_lj where ljid = '" & selectstr & "'"
    rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockReadOnly

修改保存
    Dim rst As ADODB.Recordset
    Dim strSQL As String
    Set rst = New ADODB.Recordset
    strSQL = "select * from tblcode_lj where ljid = '" & Me.ljid & "'"
    rst.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 

 



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助