主题:请教:如何人员循环编程?
yin710
[专家分:0] 发布于 2012-05-08 11:44:00
各位老师好:
我想编一个人员循环的表单,如:张三、李四、王五。如何点“录入”命令键后将这三个名字依次循环地出现在表单里。 1、姓名** 年龄* 地址** 学历* 档案管理:张三 2、姓名 ** 年龄* 地址 ** 学历* 档案管理: 李四 3、 姓名** 年龄* 地址** 学历* 档案管理:王五 4、姓名** 年龄* 地址** 学历* 档案管理:张三 依次循环。谢谢大家。
回复列表 (共23个回复)
11 楼
sdta [专家分:570] 发布于 2012-05-11 12:32:00
COMMAND1.CLICK
LOCAL CSTR
CSTR=""
SELECT DAGL
FOR I=1 TO RECCOUNT()
GO I
CSTR=CSTR+档案员+IIF(I<RECCOUNT(),",","")
ENDFOR
THISFORM.TEXT1.VALUE=CSTR
THISFORM.REFRESH
12 楼
yin710 [专家分:0] 发布于 2012-05-11 16:28:00
sdta老师好,CSTR=CSTR+档案员+IIF(I<RECCOUNT(),",","")
这句为什么所有档案人员都出现在text1的文本框里呢?我想依次每个人循环出现在text1的文本框里。谢谢。
13 楼
sdta [专家分:570] 发布于 2012-05-11 16:30:00
COMMAND1.CLICK
SELECT DAGL
GO TOP
SCAN &&此处可以加条件 FOR ......
=INKEY(10) &&暂缓10秒钟,否则只能看到最后一个人
THISFORM.TEXT1.VALUE=档案员
ENDSCAN
THISFORM.REFRESH
14 楼
yin710 [专家分:0] 发布于 2012-05-11 17:02:00
sdta老师好,不好意思,SCAN &&此处可以加条件 FOR ......提示逻辑错误。
=INKEY(10) 加什么?能给完整的代码么?谢谢
15 楼
sdta [专家分:570] 发布于 2012-05-11 17:03:00
根据你的需要,想加什么加什么。如果不会,你自己说个条件,我帮你加
16 楼
yin710 [专家分:0] 发布于 2012-05-11 18:13:00
SELECT 档案人员表
GO TOP
SCAN for not 请假
THISFORM.TEXT1.VALUE=档案员
ENDSCAN
THISFORM.REFRESH
sdta老师好,出来的不是循环呀?点录入时在text1里依次出现1名档案员(没请假的)。3-4名档案员依次循环出现。谢谢
17 楼
sdta [专家分:570] 发布于 2012-05-11 18:27:00
“请假”字段数据类型?是什么意思?
最好贴出数据表结构
SELECT 档案人员表
GO TOP
SCAN for 请假=.[color=FF0000]T[/color].
THISFORM.TEXT1.VALUE=档案员
ENDSCAN
THISFORM.REFRESH
18 楼
yin710 [专家分:0] 发布于 2012-05-11 19:29:00
sdta老师好 这个代码还是只有一个档案员的名字。别人的出不来。
档案人员表 有姓名和请假,请假的字段是逻辑的,
姓名 请假
张三 t或f
李四 t或f
王五 t或f
赵六 t或f
在表单上录入命令 点录入命令后,一个档案员的名字出现在表单的text1文本框里。在点录入命令后,下一个档案员的名字出现在表单的text1文本框里。依次类推。
19 楼
sdta [专家分:570] 发布于 2012-05-11 19:54:00
[color=FF0000]FORM.INIT[/color]
THISFORM.ADDPROPERTY("JS",0) &&为表单增加一个属性,用于保存COMMAND1的单击次数
[color=FF0000]COMMAND1.CLICK[/color]
THISFORM.JS=THISFORM.JS+1
SELECT 档案人员表
IF THISFORM.JS<=RECCOUNT()
GO THISFORM.JS
THISFORM.TEXT1.VALUE=档案员
IF THISFORM.JS=RECCOUNT()
GO TOP
THISFORM.JS=0
ENDIF
ENDIF
THISFORM.REFRESH
20 楼
yin710 [专家分:0] 发布于 2012-05-11 21:11:00
sdta老师,测试后,能用啦,谢谢老师,这个代码里能加入请假的么?
我来回复