Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 要在VBA中添加的第一周日期_Winforms_Ms Access_Date_Vba - Fatal编程技术网

Winforms 要在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',

我需要将当前星期的第一个日期自动添加到vba表单的表格和文本框中。如果有任何功能可用,有人能帮忙吗???

使用

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#)