Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

救助:查询表创建条件字段

汤帅  发表于:2015-12-08 15:15:58  
复制

表现在有时间的字段,分别为:

计划开始日期 计划完成日期 实际完成日期    (均为短日期)


现在想添加字段,状态:

进行中     计划完成日期>=当前日期

延期        计划完成日期<当前日期

已完成     实际完成日期非"null"


感谢各位大神指点!!!

 

Top
zhaoyoulong 发表于:2015-12-08 15:56:12
建个查询 select IIf(not isnull([实际完成日期]),"已完成",iif([计划完成日期]>=date(),"进行中",iif([计划完成日期]<date(),"延期")) AS 状态 from 表

汤帅 发表于:2015-12-08 22:27:56

是不是最后还少了一个括号啊?我试了一下。

为什么不是:

select IIf(not isnull([表.实际完成日期]),"已完成",iif([表.计划完成日期]>=date(),"进行中",iif([表.计划完成日期]

from 表



另外,做好查询后,为什么需要我输入实际完成日期,计划完成日期?我表里面有些数据的呀。



zhaoyoulong 发表于:2015-12-09 08:42:06
最后少了一个括号,至于提示输入实际完成日期,计划完成日期 是不是没有这两个字段啊?最好上传一下附件

汤帅 发表于:2015-12-09 14:43:33

点击下载此附件

感谢大神!是有这个字段的。见附件。

其实我想法是更复杂的。我这个表叫做分包计划表。里面的计划是有前置任务关系的,基本上。我希望实现的不仅是“已完成”,“进行中”,“已延期”。还希望有一个状态是“待启动”,触发点是前置任务处于进行中时,前置任务“已完成”了,才是“进行中”。

我是ACCESS初学者,见笑了。



zhaoyoulong 发表于:2015-12-09 16:44:49

把你有 实际完成日期 改成 实际完成时间 就行了

你的字段名叫 “实际完成时间” 不是 “实际完成日期

SELECT 分包计划.ID, 分包计划.分包号, 分包计划.节点名称, 分包计划.计划开始时间, 分包计划.计划完成时间, 分包计划.实际完成时间, 分包计划.措施, IIf(Not IsNull([分包计划].[实际完成时间]),"已完成",IIf([分包计划].[计划开始时间]>Date(),"待启动",IIf([分包计划].[计划完成时间]>=Date(),"进行中",IIf([分包计划].[计划完成时间]<Date(),"延期")))) AS 状态
FROM 分包计划;





汤帅 发表于:2015-12-09 16:45:48
谢谢!

zhaoyoulong 发表于:2015-12-09 16:52:56

运行一下看看

SELECT 分包计划.ID, 分包计划.分包号, 分包计划.节点名称, 分包计划.计划开始时间, 分包计划.计划完成时间, 分包计划.实际完成时间, 分包计划.措施, IIf(Not IsNull([分包计划].[实际完成时间]),"已完成",IIf([分包计划].[计划开始时间]>Date(),"待启动",IIf([分包计划].[计划完成时间]>=Date(),"进行中",IIf([分包计划].[计划完成时间]<Date(),"延期")))) AS 状态
FROM 分包计划;



总记录:7篇  页次:1/1 9 1 :