Private Sub Form_Current()
If Me.序号 <> 0 Then
If Me.CurrentRecord <> 1 Then Me.Tag = Me.序号
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tem SET tem.序号 = [序号]+1 WHERE tem.序号>" & (Me.Tag - 1)
DoCmd.RunSQL "INSERT INTO tem(序号) VALUES (" & (Me.Tag) & ")"
Me.Requery
Me.RecordsetClone.FindFirst "序号=" & (Me.Tag)
Me.Bookmark = Me.RecordsetClone.Bookmark
End If
End Sub
问:用ACCESS创建表时数据类型中有自动编号这一选项,但是是无法编辑的。我现在需要制作一个窗体在插入记录时自动为记录添加序号,并且能够实现通过指定序号的方法将后加的记录插入到先前已有的记录之间。
答:把一楼程序中的3处Me.Tag都加上1,改为以下程序即可。
Private Sub Form_Current()
If Me.序号 <> 0 Then
If Me.CurrentRecord <> 1 Then Me.Tag = Me.序号
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tem SET tem.序号 = [序号]+1 WHERE tem.序号>" & (Me.Tag )
DoCmd.RunSQL "INSERT INTO tem(序号) VALUES (" & (Me.Tag+1) & ")"
Me.Requery
Me.RecordsetClone.FindFirst "序号=" & (Me.Tag+1)
Me.Bookmark = Me.RecordsetClone.Bookmark
End If
End Sub