设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3977|回复: 4

[窗体] 求助:如何重置子窗体中“排序”的数字?

[复制链接]
发表于 2014-11-5 21:07:00 | 显示全部楼层 |阅读模式
背景资料:窗体1中的子窗体数据已按“排序”的升序方式进行显示。因为有时会删除部分记录,所以“排序”的数字并不连续。
求助内容:
想在窗体上设置一个按键,点击后,可以按现有显示顺序,把排序的数字按自然数1、2、3...重新设置(数字连续不重复)。
请在上传的数据库上做个示例吧,阿门!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

发表于 2014-11-6 11:04:13 | 显示全部楼层
排序重置,这个简单啊!用ADO对逐条记录循环更新

点击这里给我发消息

发表于 2014-11-6 11:11:15 | 显示全部楼层
  1. Private Sub Command4_Click()
  2.     Dim strSql As String
  3.     Dim rs As New ADODB.Recordset
  4.    
  5.     '按照排序字段打开记录集
  6.     strSql = "select 排序 from tabNAME order by 排序"
  7.     rs.Open strSql, CurrentProject.Connection, 1, 3
  8.         Do While Not rs.EOF
  9.             rs(0) = rs.AbsolutePosition '利用记录的位置,为排序更新
  10.             rs.Update
  11.             rs.MoveNext
  12.         Loop
  13.     rs.Close
  14.     Set rs = Nothing
  15.    
  16.     Me.[tabNAME 子窗体].Requery '刷新子窗体
  17. End Sub
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2014-11-7 17:21:39 | 显示全部楼层
本帖最后由 todaynew 于 2014-11-7 17:26 编辑

dim ssql as string
ssql="update 阁下的数据表名称 as a set a.排序=(select count(b.*) from 阁下的数据表名称 as b where b.排序<=a.排序)"
CurrentDb.Execute ssql
或:
dim ssql as string
ssql="update 阁下的数据表名称 set 排序=dcount('*','阁下的数据表名称','排序<=' & [排序])"
CurrentDb.Execute ssql


 楼主| 发表于 2014-11-9 11:12:23 | 显示全部楼层
非常感谢!成功解决问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 21:42 , Processed in 0.093046 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表