MS Access 组合框/VBA

问题描述

下午;

我正在寻找有关我一直在开发的 MS Access 2016 应用程序的建议。我有一个带有组合框的表单,该表单来自包含一周开始日期(星期一)和一周结束日期(星期日)的表格。

我希望在打开表单时,组合框会跳到当前周的星期一。例如,今天是第三个,因此组合框会预先选择 2/1/21 - 2/7/211。

有没有办法做到这一点,还是白日做梦?

任何建议将不胜感激。

解决方法

我认为会是这样。

Private Sub Command_Click()
Dim sDate As String
Dim i As Integer

    sDate = "01/01/" & Year(Date)
    
    If Day(CDate(sDate)) <> vbMonday Then
        sDate = DateAdd("d",vbMonday - Day(CDate(sDate)) - 1,CDate(sDate))
    End If
    
    For i = 0 To 51
        Combo1.AddItem Format(DateAdd("ww",i,sDate),"mmm dd,yyyy")
        If Date > DateAdd("ww",sDate) And Date < DateAdd("ww",i + 1,sDate) Then
            Combo1.ListIndex = i
        End If
    Next i

End Sub

另外,请参阅以下链接中的相关讨论。

MS Access 2010 (Design View): return Monday of the current week with Monday as 1st day of the week