Private Sub btnDelete_Click() '删除按钮daima
On Error Resume Next
If Not Me.NewRecord Then
DoCmd.SetWarnings False '屏弊系统的警告
RunCommand acCmdDeleteRecord '删除当前记录
DoCmd.SetWarnings True '取消屏弊系统的警告
End If
Exit Sub
End Sub
Private Sub Form_AfterUpdate() '窗体更新后事件
RefreshSerialNumber '调用
End Sub
Private Sub Form_AfterDelConfirm(Status As Integer)
'窗体确认删除后事件
RefreshSerialNumber '调用
End Sub
Private Sub RefreshSerialNumber()
'自定义函数
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim i As Integer
' 打开当前数据库
Set db = CurrentDb
' 打开数据表
Set rs = db.OpenRecordset("TMP_表名")
' 检查记录集是否成功打开
If rs.EOF And rs.BOF Then
MsgBox "未找到数据表或数据表为空。"
Exit Sub
End If
' 更新编码字段和补充断号
rs.MoveFirst
i = 1
While Not rs.EOF
rs.Edit
rs.Fields("编码").Value = i
rs.Update
i = i + 1
rs.MoveNext
Wend
' 关闭记录集和数据库对象
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
适用于连续窗体的行数加减, 事实刷新新增的数据自动增加行号,删除之后实时刷新补充断号。个人感觉速度的显示性和断号补充速度会比Access快速开发平台自带的GetLineNumber函数快一些,但是最后一条待新增的空白行的字段用”*“号显示,一直没找到什么办法做出来。有点遗憾。
附:《盟威软件快速开发平台》在线帮助中心--自定义GetLineNumber 函数
http://www.accessgood.com/help/functions/GetLineNumber.html