标题:VB如何对ACCESS一个字段重新排序,其它内容保持不变
只看楼主
natesc
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2013-9-15
结帖率:37.5%
 问题点数:0 回复次数:1 
VB如何对ACCESS一个字段重新排序,其它内容保持不变
现有表格如下,其中的TMNUM想每次按一个按钮,实现随机排列一次,要求不重复。
思路:按按钮时清除TMNUM内容,然后重新赋值给他,不知道代码如何写

每个ZJID 下面的TMNUM都是从1开始排列到最大值的



AAAAAAAAAA.rar (133.26 KB)


[此贴子已经被作者于2019-12-24 22:53编辑过]

搜索更多相关主题的帖子: VB 内容 重新 字段 排序 
2019-12-24 22:51
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
说一下算法,具体代码没有时间写,可以提供思路。
1、SELECT  zjid ,count(*) as 条数 FROM TMInfo group by  zjid   ;
先生成一个查询(暂时命名为查询1),从而获得所有的zjid 和他们各自的条数。
2、在这个查询1中循环,每循环一条,就取出 查询1.sjid (例如首次是1),拼凑成一个新的查询语句:
select  tmid ,TMInfo.ZJID,TMNUM  from TMInfo  where  TMInfo.zjid = 1
执行这个语句,得到临时表1
3、在临时表1 中打乱TmNum的排序(方法很多,这里不详细写了,有随机函数,也有总条数,应该对你不难)
4、打乱后,update临时表中的TmNum 到 TMInfo中去 (可以用临时表1的tmid为关联字段)
5、删除临时表,从查询1中取第二条记录,拼凑新的查询语句,
select  tmid ,TMInfo.ZJID,TMNUM  from TMInfo  where  TMInfo.zjid = 2  ’以后还有3、4、5.……
执行这个语句,并重新生成临时表1……重复第3、4、5步,继续循环,直到查询1被全部循环。
2019-12-28 13:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498620-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.083101 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved