Access交流中心

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

五一期间上传一个大问题,请各位进来帮助分析,做法与建议

爱在深秋  发表于:2009-05-01 13:01:25  
复制

这是一个案例处理程序,案例处理过程中日期很重要,本程序预想做一个自动计算并在报表中填入相应日期,在后台运行,无需输入,减少工作量与错误,
重点是要立案日期确定后,根据各日期之间最小差,计算下一个程序出现的相应日期,这些日期要排除周六与周日,同时还应还除每年的国家法定假日,如五一,中秋等,这些假日在假日表中维护,
点击下载此附件

 

Top
善裕 发表于:2009-05-01 18:57:07

有人下载帮助吗,



皮皮 发表于:2009-05-02 14:41:31

将日期字段中的数据类型设为“日期/时间”不应当设置为文本。其中的默认值设为函数“DATE()”表中将自动生成系统当前日期。法定假日表应改为法定工作日表设“工作日字段”输入全年工作日期,再设“工作日计数”字段输入按1、2、3.......顺序排列用来计算不足一年部分的工作日天数,然后加上年的工作日天数。仅供参考。



善裕 发表于:2009-05-02 21:38:56

发一个看看,你说的类型设为日期,是可以的,但是我关键是,在输入一个立案日期后,其他的要根据差额几天值,自动加上去,再排除这个休息日呀

 



皮皮 发表于:2009-05-03 15:17:29
你的意思是遇节假日自动顺延吗?还是计算工作日?不明白。

善裕 发表于:2009-05-03 15:56:21

比如说:立案日期为2009年3月1日,其它的相应日期,按预选设置好的工作日数,假设某个日期在立案日期加上1天后,正好遇上了周六或者是周日,那么确定这个日期变为周一,并且如果这天遇上国家法定假日,也要顺廷下去.



皮皮 发表于:2009-05-05 22:09:17
这叫节假日顺延,在你的法定节假日中加入一个字段“节假日避让系数”,例如2009年为例;4月30日避让系数为0或不设(不设的统一为0)5月1日为“3”5月2日为“2”5月3日为“1”......10月1日为“7”计算时“要求的日期”=“立案日期”+“N”天+“避让系数”这样巧妙躲过节假日。

善裕 发表于:2009-05-06 21:07:17

你的想法也是挺好的,我可以试一下,谢谢了

 



蒋元根 发表于:2009-05-22 16:51:18
用单位日历进行法律文书制作,供参考点击下载此附件

善裕 发表于:2009-05-23 09:16:08
复杂呀,还没学习好,谢谢你呀

蒋元根 发表于:2009-05-26 15:07:21

现在将改进后的数据库发上来,供参考

 

Private Sub 建议立案日期_AfterUpdate()


If IsNull(DLookup("工作日编号", "单位日历", "[日期] = #" & Me.建议立案日期 & "#")) Then
MsgBox "今天为非工作日,请选择其他日期!", vbInformation, "一般提示:"
Me.建议立案日期 = Null
Me.建议立案日期.SetFocus
Exit Sub
End If

Me.工作日编号 = DLookup("工作日编号", "单位日历", "[日期] = #" & Me.建议立案日期 & "#")

Me.立案日期 = DLookup("日期", "单位日历", "[工作日编号] = " & Me.工作日编号 + 1 & " ")

Me.告知日期 = DLookup("[日期]", "单位日历", "[工作日编号] = " & Me.工作日编号 + 2 & " ")


Me.建议处罚日期 = DLookup("[日期]", "单位日历", "[工作日编号] = " & Me.工作日编号 + 7 & " ")

Me.处罚审批日期 = DLookup("[日期]", "单位日历", "[工作日编号] = " & Me.工作日编号 + 8 & " ")

Me.处罚告知日期 = DLookup("[日期]", "单位日历", "[工作日编号] = " & Me.工作日编号 + 9 & " ")

Me.限期执行处罚日期 = DLookup("[日期]", "单位日历", "[工作日编号] =" & Me.工作日编号 + 24 & " ")

 

End Sub

点击下载此附件

善裕 发表于:2009-05-26 20:08:33

蒋老师,谢谢你一直的帮助,昨天我发过去一个新的,如果你有空帮我在这个例子上完善一下排除假日表中的日期,你原来发的有些复杂,学不会呀,我先结贴了,谢谢



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