Office中国论坛/Access中国论坛
标题:
求助:如何重置子窗体中“排序”的数字?
[打印本页]
作者:
linjingdr
时间:
2014-11-5 21:07
标题:
求助:如何重置子窗体中“排序”的数字?
背景资料:窗体1中的子窗体数据已按“排序”的升序方式进行显示。因为有时会删除部分记录,所以“排序”的数字并不连续。
求助内容:
想在窗体上设置一个按键,点击后,可以按现有显示顺序,把排序的数字按自然数1、2、3...重新设置(数字连续不重复)。
请在上传的数据库上做个示例吧,阿门!
作者:
盗梦
时间:
2014-11-6 11:04
排序重置,这个简单啊!用ADO对逐条记录循环更新
作者:
盗梦
时间:
2014-11-6 11:11
Private Sub Command4_Click()
Dim strSql As String
Dim rs As New ADODB.Recordset
'按照排序字段打开记录集
strSql = "select 排序 from tabNAME order by 排序"
rs.Open strSql, CurrentProject.Connection, 1, 3
Do While Not rs.EOF
rs(0) = rs.AbsolutePosition '利用记录的位置,为排序更新
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Me.[tabNAME 子窗体].Requery '刷新子窗体
End Sub
复制代码
[attach]54949[/attach]
作者:
todaynew
时间:
2014-11-7 17:21
本帖最后由 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
作者:
linjingdr
时间:
2014-11-9 11:12
非常感谢!成功解决问题。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3