通用删除某表某字段满足条件的记录两个函数:
一、调用方式:
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