位置:海鸟网 > IT > ASP.NET >

通用删除某表某字段满足条件的记录两个函数

一、调用方式:
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