主题:程序不能向下执行
zdxxgf
[专家分:0] 发布于 2009-10-07 20:23:00
敬请多多指点,不胜感激!
我建立了“基本信息库”,创建了表单文件,添加了“今日保养”按钮。按钮中的命令如下:
use d:\我的文档\保养程序\jbxx.dbf
do case
case date()-购机日期=1
repl 保养 with "换机油"
case date()-购机日期=2
repl 保养 with "轮胎"
case date()-购机日期=3
repl 保养 with "三滤"
endcase
browse
[color=FF0000]运行表单后为什么打开的"jbxx.dbf"中“保养”字段下的内容只对第一条记录有效?怎样向下执行所有记录?[/color]
回复列表 (共10个回复)
沙发
dfwxj [专家分:270] 发布于 2009-10-07 23:14:00
当然只对第一条记录生效,因为你没有指定替换条件,仅对当前记录操作。而打开表后第一条记录是当前记录
板凳
foxdb [专家分:1830] 发布于 2009-10-07 23:35:00
use d:\我的文档\保养程序\jbxx.dbf
SCAN FOR RECNO()>0
do case
case date()-购机日期=1
repl 保养 with "换机油"
case date()-购机日期=2
repl 保养 with "轮胎"
case date()-购机日期=3
repl 保养 with "三滤"
endcase
IF EOF()=.T.
EXIT
ENDIF
LOOP
ENDSCAN
browse
3 楼
zdxxgf [专家分:0] 发布于 2009-10-08 10:01:00
谢谢foxdb老师!
但又有新问题出现:点击“今日保养”后程序能向下执行,但保养字段下内容不能更新。比如购机天数为1天时,保养字段显示“换机油”,购机天数为不是程序中的1、2、3天数时仍旧显示“换机油”而不为空。这样就失去了“今日保养”按钮的作用。还望老师再次指导!
4 楼
Ilikefox [专家分:5770] 发布于 2009-10-08 10:57:00
就事论事,
USE d:\我的文档\保养程序\jbxx.dbf
SCAN
DO CASE
CASE DATE()-购机日期=1
REPLACE 保养 WITH "换机油"
CASE DATE()-购机日期=2
REPLACE 保养 WITH "轮胎"
CASE DATE()-购机日期=3
REPLACE 保养 WITH "三滤"
OTHERWISE
REPLACE 保养 WITH ""
ENDCASE
ENDSCAN
BROWSE
5 楼
fyyylyl [专家分:8550] 发布于 2009-10-08 17:23:00
repl 保养 with ICASE(DATE()-购机日期=1, "换机油", DATE()-购机日期=2,"轮胎", DATE()-购机日期=3,"三滤")
6 楼
fyyylyl [专家分:8550] 发布于 2009-10-08 17:24:00
购机后第二天就换机油?第三天就保养轮胎?......
7 楼
lbscyb [专家分:4780] 发布于 2009-10-09 22:25:00
[quote]repl 保养 with ICASE(DATE()-购机日期=1, "换机油", DATE()-购机日期=2,"轮胎", DATE()-购机日期=3,"三滤")[/quote]
只给了10分,不识货啊!
8 楼
foxdb [专家分:1830] 发布于 2009-10-10 02:15:00
5楼知足啦,我是解决"怎样向下执行所有记录"得了20分,可没有想到并及时解决"不为空"问题,人家4楼补全了得30分也无可厚非,你缩成一句表面上是效率高了可也有局限性,如果楼主不是用VFP9.0的话,可能一分也不给你了!
9 楼
dfwxj [专家分:270] 发布于 2009-10-10 23:19:00
别吵了,分数重要吗?
10 楼
lbscyb [专家分:4780] 发布于 2009-10-10 23:24:00
[quote]5楼知足啦,我是解决"怎样向下执行所有记录"得了20分,可没有想到并及时解决"不为空"问题,人家4楼补全了得30分也无可厚非,你缩成一句表面上是效率高了可也有局限性,如果楼主不是用VFP9.0的话,可能一分也不给你了![/quote]
2楼的写得很不好,如果不用VFP9.0,实际上很好解决:
repl 保养 with "" all in jbxx
repl 保养 with "换机油" for date()-购机日期=1 in jbxx
repl 保养 with "轮胎" for date()-购机日期=2 in jbxx
repl 保养 with "三滤" for date()-购机日期=3 in jbxx
我来回复