通用删除某表符合条件记录函数[平台开发0014] -张志
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


通用删除某表符合条件记录函数[平台开发0014]

发表时间:2006/1/3 评论(0) 浏览(7837)  评论 | 加入收藏 | 复制
   
摘 要:在ACCESS通用开发平台中,内置了本函数,其功能是根据某字段条件删除某表中某个字段符合条件的整行记录,需引用DAO3.6,可用来删除表中的一条记录,亦可删除满足条件的多条记录
正 文:
一、调用方式:
Sub Acchelp_Test()
'如果是条件是长整型
Call AccHelp_DeleteFldNumRow("表名称", "字段名称", 条件)
'如果是条件是文本型
'Call AccHelp_DeleteFldStrRow("表名称", "字段名称", 条件)
End Sub

二、两个函数:
Public Function AccHelp_DeleteFldStrRow(tblName As String, conditionFldName As String, strCondition As String)
'功能:根据某字段条件删除某表中某个字段符合条件(必须是文本型)的整行记录,需引用DAO3.6
'      一般用于根据文本型的订单号(或合同号等)来删除表中的一条记录,亦可删除满足条件的多条记录
'修改历史:2006/1/3
'说明:
'tblName 是指表的名称
'conditionFldName 是指应用条件字段的名称
'strCondition 是指条件
'作者:竹笛 (微软最有价值专家)
'说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流
'邮箱:admin@accessoft.com
    On Error GoTo Err_AccHelp_DeleteFldStrRow:
    Dim strSQL As String
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset(tblName, dbOpenDynaset)
    rst.MoveFirst
    Do Until rst.EOF
        If rst(conditionFldName) = strCondition Then
            rst.Delete
        End If
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
Exit_AccHelp_DeleteFldStrRow:
    Exit Function
Err_AccHelp_DeleteFldStrRow:
    rst.Close
    Set rst = Nothing
    Resume Exit_AccHelp_DeleteFldStrRow
End Function

Public Function AccHelp_DeleteFldNumRow(tblName As String, conditionFldName As String, NumCondition As Long)
'功能:根据某字段条件删除某表中某个字段符合条件(必须是长整型数字)的整行记录,需引用DAO3.6
'      一般用于根据序号来删除表中的一条记录,亦可删除满足条件的多条记录
'修改历史:2006/1/3
'说明:
'tblName 是指表的名称
'conditionFldName 是指应用条件字段的名称
'NumCondition 是指条件
'作者:竹笛 (微软最有价值专家)
'说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流
'邮箱:admin@accessoft.com
    On Error GoTo Err_AccHelp_DeleteFldNumRow:
    Dim strSQL As String
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset(tblName, dbOpenDynaset)
    rst.MoveFirst
    Do Until rst.EOF
        If rst(conditionFldName) =NumCondition Then
            rst.Delete
        End If
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
Exit_AccHelp_DeleteFldNumRow:
    Exit Function
Err_AccHelp_DeleteFldNumRow:
    rst.Close
    Set rst = Nothing
    Resume Exit_AccHelp_DeleteFldNumRow
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
创建部门,权限组,新用户[平台开发008]   【UMVsoft整理  2006/3/3】
隐藏后台数据库[平台开发009]   【UMVsoft整理  2006/3/3】
去掉应用程序标题的网站信息[平台开发0010]   【UMVsoft整理  2006/3/4】
子窗体打开后序号不触发获得焦点事件[平台开发0011]   【UMVsoft整理  2006/3/9】
窗体名称命名约定[平台开发0012]   【UMVsoft整理  2006/3/9】
子窗体控件的调用方法[平台开发0013]   【UMVsoft整理  2006/3/9】
常见问答
技术分类
相关资源
文章搜索
关于作者

张志

文章分类

文章存档

友情链接