Office中国论坛/Access中国论坛

标题: 序号是否连续 [打印本页]

作者: 1100122566    时间: 2008-12-17 16:20
标题: 序号是否连续
我有个表。里面有个字段“序号”(自动编号)。现里面有2000多条记录。我想以序号字段查看记录是否连续。也就是显示出那些不连续的数据。
作者: 1100122566    时间: 2008-12-17 16:37
[:50] 能帮就帮帮我吧~~
作者: 明镜    时间: 2008-12-17 19:18
表述再清楚点.
作者: Henry D. Sy    时间: 2008-12-17 19:28
打开记录集,然后递增比对。
请问一下,你想显示什么,比如第一条记录id为2,第二条为4,第三条为5,你想如何显示。
作者: popo559    时间: 2009-2-11 05:36
我也想设计这个功能,比如原有编号是0001--2000 的,使用过程中 有个别编号的记录删掉了,
所要的的功能就是列出那些曾经被删掉的编号即可.
作者: todaynew    时间: 2009-2-11 08:23
本帖最后由 todaynew 于 2009-2-11 08:25 编辑
我有个表。里面有个字段“序号”(自动编号)。现里面有2000多条记录。我想以序号字段查看记录是否连续。也就是显示出那些不连续的数据。
1100122566 发表于 2008-12-17 16:20

这是前不久做的一个类似的例子,给你参考一下。

Private Sub 运算_Click()
Dim sql As String
Dim i As Long
Dim x As String
DoCmd.SetWarnings no
sql = "DELETE * FROM 表2;"
DoCmd.RunSQL sql
Do While Not (IsNull(Me.ID1))
      If Val(Me.ID1) - Val(Me.ID) > 1 Then
          i = 0
         Do While i < Val(Me.ID1) - Val(Me.ID) - 1
               i = i + 1
               x = Me.ID.Value + i
               sql = "INSERT INTO 表2 ( ID ) SELECT " & x & " AS ID;"
               DoCmd.RunSQL sql
         Loop
      End If
      DoCmd.GoToRecord acForm, "窗体", acNext, 1
Loop
sql = "UPDATE 表2 SET 表2.ID = Format([ID],'0000');"
DoCmd.RunSQL sql
Me.Child5.Form.Requery
End Sub



[attach]34993[/attach]
作者: ACMAIN_CHM    时间: 2009-2-11 20:33
新建一张表 TSNO (sno),设sno为主键. 然后在EXCEL中把1-2000准备好。然后复制到这个TSNO表中。这样这个表就有1-2000这些记录。

以后只需用查询
select a.sno
from TSNO a left join [我有个表] b on a.sno=b.序号
where b.序号 is null

这样即可得到所缺号码。






******************
*  一切皆有可能  *
******************

.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
作者: chaojianan    时间: 2009-2-11 20:49
新手学习。谢谢。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3