主题:关于日期计算的问题
zdxxgf
[专家分:0] 发布于 2009-10-06 23:06:00
我是初学者,求教:在表中有“购机日期”和“保养”字段。怎样可以实现:用当前“系统日期”减去“购机日期”得出天数,当天数为某值时在“保养”字段下的数据中显示“保养”万分感谢!
回复列表 (共8个回复)
沙发
sywzs [专家分:5650] 发布于 2009-10-07 06:17:00
就是用当前“系统日期”减去“购机日期”得出天数
天数=date()-购机日期
repl 保养 with “保养” for date()-购机日期>=某天数
板凳
zdxxgf [专家分:0] 发布于 2009-10-07 15:51:00
谢谢王老师!问题已解决。
3 楼
zdxxgf [专家分:0] 发布于 2009-10-07 17:21: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]
4 楼
dfwxj [专家分:270] 发布于 2009-10-07 23:20:00
你的问题没解决,因为:
case date()-购机日期=1
repl 保养 with "换机油"
case date()-购机日期=2
repl 保养 with "轮胎"
case date()-购机日期=3
repl 保养 with "三滤"
********************************
购买的前三天都有事干,超过三天就歇菜了,你真正实行的是“三包”啊
先把需求表述清楚了再写代码
5 楼
foxdb [专家分:1830] 发布于 2009-10-07 23:44: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
6 楼
dfwxj [专家分:270] 发布于 2009-10-07 23:53:00
太复杂了
repl 保养 with "换机油" for date()-购机日期=1
repl 保养 with "换轮胎" for date()-购机日期=2
repl 保养 with "换三滤" for date()-购机日期=3
repl 保养 with "已过保,不关我事!" for date()-购机日期>3
7 楼
zdxxgf [专家分:0] 发布于 2009-10-08 10:29:00
dfwxj老师:
如果保养日期为不连续的,比如100天、200天、300天,其余时间保养字段下的内容为空,你提供的程序第4行应如何修改?敬请指导!谢谢!!!
8 楼
dfwxj [专家分:270] 发布于 2009-10-08 15:41:00
闹笑的。
你必须先理清思路:多长时间该干什么
觉得你好象是给客户一项免费保养,不过是三项全做呢?还是只做一项呢?
你最好先说清楚你的意图,要不然不好写代码。
1天换机油,那2天就不换了吗?2天的时候换轮胎,那还换机油吗?
我来回复