Winforms 要在VBA中添加的第一周日期
我需要将当前星期的第一个日期自动添加到vba表单的表格和文本框中。如果有任何功能可用,有人能帮忙吗???使用Winforms 要在VBA中添加的第一周日期,winforms,ms-access,date,vba,Winforms,Ms Access,Date,Vba,我需要将当前星期的第一个日期自动添加到vba表单的表格和文本框中。如果有任何功能可用,有人能帮忙吗???使用 monday = DateAdd("d", 1 - Weekday(Date, vbMonday), Date) 我知道你说的是VBA,但下面介绍了如何在Access数据库引擎SQL中实现,并“独立”工作,即不需要Access或VBA(当然,逻辑可以转换为VBA): 星期天开始:如果在星期天运行,将返回当前日期: SELECT DATEADD('WW', DATEDIFF('WW',
monday = DateAdd("d", 1 - Weekday(Date, vbMonday), Date)
我知道你说的是VBA,但下面介绍了如何在Access数据库引擎SQL中实现,并“独立”工作,即不需要Access或VBA(当然,逻辑可以转换为VBA): 星期天开始:如果在星期天运行,将返回当前日期:
SELECT DATEADD('WW', DATEDIFF('WW', #1990-01-07 00:00:00#, NOW()), #1990-01-07 00:00:00#)
星期天开始的一周:如果在星期天运行,将返回上一个星期天:
SELECT DATEADD('D', (DATEDIFF('D', #1990-01-08 00:00:00#, NOW()) \ 7) * 7, #1990-01-07 00:00:00#)
提示:
1990-01-07 00:00:00
是一个任意的日期,已知为周日。还没有测试过它,但我想它会。。。在周一调用时,它只会尝试添加0天(0*-1),返回上一个周一。对于周一,Weekday(Date(),3)返回7。那么,我的引用可能不正确。我用的是这个啊,我明白了,我想那是Excel函数,不是VBA函数,明白了吗
SELECT DATEADD('D', (DATEDIFF('D', #1990-01-08 00:00:00#, NOW()) \ 7) * 7, #1990-01-07 00:00:00#)