设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4084|回复: 4
打印 上一主题 下一主题

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

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


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2014-11-6 11:04:13 | 只看该作者
排序重置,这个简单啊!用ADO对逐条记录循环更新

点击这里给我发消息

3#
发表于 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
4#
发表于 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


5#
 楼主| 发表于 2014-11-9 11:12:23 | 只看该作者
非常感谢!成功解决问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 14:23 , Processed in 0.108614 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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