| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:求vfp等距抽样的小程序
只看楼主 加入收藏
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:17 
求vfp等距抽样的小程序
按学生成绩排序,每隔5个学生抽一个。
2012-05-15 11:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:20 
回复 楼主 zsh9898
程序代码:
CREATE CURSOR TABNAME (JLH N(2),XM C(1),CJ N(3))
FOR I=1 TO 20
    INSERT INTO TABNAME VALUES (I,CHR(64+I),110+I)
ENDFOR
BROWSE FOR MOD(RECNO(),6)=0

*或者
SELECT * FROM TABNAME WHERE MOD(RECNO(),6)=0 INTO CURSOR TEMP
BROWS


[ 本帖最后由 sdta 于 2012-5-15 11:59 编辑 ]

坚守VFP最后的阵地
2012-05-15 11:57
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
SELECT * FROM TABNAME WHERE MOD(RECNO(),6)=0 INTO CURSOR TEMP的查询结果能输出到dbf中吗

2012-05-15 15:24
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
临时表不能编辑
2012-05-15 15:24
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
如果一张dbf表中有几个班级,每个班级抽样间隔不一样,比如一班抽样间隔是6;二班抽样间隔是8,三班抽样间隔是3,这种情况如何实现呢,谢谢!
2012-05-15 15:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:0 
回复 3楼 zsh9898
程序代码:
CREATE CURSOR TABNAME1 (JLH N(2),XM C(1),CJ N(3))
CREATE CURSOR TABNAME (JLH N(2),XM C(1),CJ N(3))
FOR I=1 TO 20
    INSERT INTO TABNAME VALUES (I,CHR(64+I),110+I)
ENDFOR
SELECT * FROM TABNAME WHERE MOD(RECNO(),6)=0 INTO ARRAY TEMP
SELECT TABNAME1
APPEND FROM ARRAY TEMP
BROWS

坚守VFP最后的阵地
2012-05-15 15:51
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
非常好,请问I,CHR(64+I),110+I是什么意思呢
2012-05-15 15:56
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
太棒了,那么如果一张dbf表中有几个班级,每个班级抽样间隔不一样,比如一班抽样间隔是6;二班抽样间隔是8,三班抽样间隔是3,这种情况如何实现呢,谢谢!
2012-05-15 16:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:0 
回复 7楼 zsh9898
看下ASC()、CHR()
?ASC("A") 的值为65
?ASC("B") 的值为66
......
?ASC("Z") 的值为90
为便于添加记录,在此用了CHR()
?CHR(64+I) 如果I=1,相当于CHR(64+1),此时的值为A
?CHR(64+I) 如果I=2,相当于CHR(64+2),此时的值为B
......
?CHR(64+I) 如果I=26,相当于CHR(64+26),此时的值为Z

110+I 是为了添加记录(成绩)方便,原理同上

[ 本帖最后由 sdta 于 2012-5-15 16:16 编辑 ]

坚守VFP最后的阵地
2012-05-15 16:14
zsh9898
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2012-5-15
收藏
得分:0 
是这样啊,明白了
2012-05-15 16:48
快速回复:求vfp等距抽样的小程序
数据加载中...
 
   



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

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