Office中国论坛/Access中国论坛
标题:
请老师帮助将这个查询转换成模块,谢谢
[打印本页]
作者:
yanwei82123300
时间:
2010-1-21 13:46
标题:
请老师帮助将这个查询转换成模块,谢谢
REQD_WEEK: CDbl(IIf([REQD_DATE]>#2008-9-30# And [REQD_DATE]<#2009-1-1#,Str(Format((200848+13+Format([REQD_DATE],"ww")))),IIf([REQD_DATE]>=#2009-1-1# And [REQD_DATE]<#2009-10-1#,Str(Format((200900+13+Format([REQD_DATE],"ww")))),IIf([REQD_DATE]>#2009-9-30# And [REQD_DATE]<#2010-1-1#,Str(Format((200900+61+Format([REQD_DATE],"ww")))),IIf([REQD_DATE]>=#2010-1-1# And [REQD_DATE]<#2010-10-1#,Str(Format((201000+13+Format([REQD_DATE],"ww")))),IIf([REQD_DATE]>=#2010-10-1# And [REQD_DATE]<#2011-1-1#,Str(Format((201000+61+Format([REQD_DATE],"ww")))),IIf([REQD_DATE]>=#2011-1-1# And [REQD_DATE]<#2011-10-1#,Str(Format((201100+13+Format([REQD_DATE],"ww")))),Str(Format((201100+61+Format([REQD_DATE],"ww")))))))))))
作者:
yanwei82123300
时间:
2010-1-21 13:47
由于我公司是将每年的10-1为工厂新年,到下一年的9-30为年底
作者:
咱家是猫
时间:
2010-1-21 14:44
本帖最后由 咱家是猫 于 2010-1-21 14:47 编辑
你试下下面的对不对
Function GetDate(d As Date) As Double
Dim s
Dim td As Date
td = d + (DateSerial(Year(d), 12, 31) - DateSerial(Year(d), 9, 1))
s = Year(td) & Format(Format(td, "ww"), "00")
GetDate = CDbl(s)
End Function
复制代码
作者:
yanwei82123300
时间:
2010-1-21 16:20
谢谢猫老师,请帮助解释一下可以吗?
作者:
咱家是猫
时间:
2010-1-22 12:49
应该再简练些
其实就是一句
Function GetDate(d As Date) As String
GetDate = Year(d + 92) & Format(Format(d + 92, "ww"), "00")
End Function
复制代码
这个日期你想得有点太绕弯了.其实就是把原日期加多92天(10月11月12月三个月的总天数)来计算.
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3