|
8#
楼主 |
发表于 2015-1-27 18:36:42
|
只看该作者
。。。。。。
本帖最后由 大白菜小白菜 于 2015-1-27 18:42 编辑
Private Sub 删除_Click()
' 删除数据表窗体多条记录并提示的一种方法,与各位探讨
' 小宝(tcl013@126.com) 于2008年4月30日
Dim x As Integer, i As Integer
Dim c As Integer '选择删除的记录数
Dim s As String '关键字段值
Dim rst As DAO.Recordset '子窗体记录集
Dim b As Boolean '判断是否从上到下选
With Me.交易信息查询子窗体.Form
c = 1
If .SelHeight > 1 Then '判断是否选择多条
x = .SelWidth - 1
.SelWidth = x
If .SelWidth = x Then '判断是否使用记录选定器来选择,如果能更改SelWidth则不是使用记录选定器
.SelWidth = x + 1
Else
c = .SelHeight
If .SelTop = .CurrentRecord Then b = True '判断是否从上到下选
End If
End If
If c > 1 Then
' 获取并同步子窗体记录集
Set rst = .RecordsetClone
If .NewRecord Then ' 如果从新记录向上选,则记录集移到最后一条,记录数-1
rst.MoveLast
c = c - 1
Else
rst.Bookmark = .Bookmark
End If
Do Until i = c
s = s & rst!商家名称 & ";"
i = i + 1
If b Then
rst.MoveNext
If rst.EOF Then c = c - 1 ' 如果向下选,并选择了新记录,则记录数-1
Else
rst.MovePrevious
End If
Loop
Set rst = Nothing
s = Left(s, Len(s) - 1)
Else
If .NewRecord Then Exit Sub
s = .商家名称
Me.交易信息查询子窗体.SetFocus
DoCmd.RunCommand acCmdSelectRecord
End If
End With
' 删除记录
If MsgBox("您确定要删除 " & c & " 条商家名称为:“" & s & _
"”的记录吗?", vbExclamation + vbYesNo, "删除提示") = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
DoCmd.RunCommand acCmdSelectRecord
' MsgBox " 删除成功。 ", vbInformation, "删除提示"
End If
End Sub
|
|