代 码:
Private Sub btnDelete_Click() '删除按钮daimaOn Error Resume NextIf Not Me.NewRecord ThenDoCmd.SetWarnings False '屏弊系统的警告RunCommand acCmdDeleteRecord '删除当前记录DoCmd.SetWarnings True '取消屏弊系统的警告End IfExit SubEnd 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
连续窗体序号自动排序的自定义函数;做一个类似Access快速开拓平台GetLineNumber的自动序号排序功能【Access软件网】