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

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

时 间:2006-01-03 00:00:00
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:在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交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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