【问题标题】:Data range selection does not work properly with year and month filter from combobox in ms access forms数据范围选择不适用于 ms 访问表单中组合框中的年和月过滤器
【发布时间】:2022-06-11 00:09:01
【问题描述】:

我在 MS Access 中有一个表单,我可以在其中使用日期范围过滤日期(“from:”和“to:”作为组合框,它们在代码中称为“cboStart”和“cboEnd”)。当你点击 Combobox 时,你会看到 02.2021、05.2021、06.2021、01.2022、02.2022、03.2022 等。它们显示了所有存在的选项(它只是显示查询中存在的值,我调用的日期来自查询)

代码是(我在 youtube 上找到的):

Private Sub cboEnd_AfterUpdate()

UpdateFilter
Me.Requery
End Sub


Private Sub cboStart_AfterUpdate()

UpdateFilter
Me.Requery
End Sub

Sub 

UpdateFilter()
Dim strFilter As String
strFilter = FilterString()
If Len(strFilter) > 0 Then
  Me.Filter = strFilter
  Me.FilterOn = True
Else
  Me.Filter = ""
  Me.FilterOn = False
End If
End Sub

Function FilterString() As String
Dim strReturn As String
Dim strStart As String
Dim strEnd As String
strReturn = ""
If IsNull(Me!cboStart) Or IsNull(Me!cboEnd) Then GoTo Fn_Exit
strStart = Me!cboStart
strEnd = Me!cboEnd
strReturn = "Month_Worked Between '" & strStart & "' And '" & strEnd & "'"
Fn_Exit:
FilterString = strReturn
End Function

但我不想在组合框中显示所有年份和月份,所以我添加了新的组合框(它们在代码中称为“cmb_YearFrom”和“cmb_YearTo”表示年份,因此我逐年过滤月份选择。

为此,我编写了代码并添加到查询中 [Forms]![frmOffeneBestellung]![cmb_YearFrom], [Forms]![frmOffeneBestellung]![cmb_YearTo],所以组合框“年”作为过滤器用于月份选择

代码:

Private Sub cmb_YearTo_AfterUpdate()
cboEnd = Null
cboEnd.Requery
Me.Requery
End Sub

Private Sub cmb_YearFrom_AfterUpdate()
cboStart = Null
cboStart.Requery
Me.Requery
End Sub

现在是这样的: “年份:”、“来自:” “年份:”,“至:”

我的问题:例如,我无法从 06.2021 过滤到 01.2022。 它仅在同一年有效,例如从 05.2021 到 06.2021。 我该如何解决它,有什么想法吗? 提前非常感谢

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    您必须将这些文本日期转换为真实日期和日期表达式,例如:

    strReturn = "CDate(Replace([Month_Worked], '.', '/')) Between #" & Format(Replace(strStart, ".", "/"), "yyyy\/mm\/dd") & "# And #" & Format(Replace(strEnd, ".", "/"), "yyyy\/mm\/dd") & "#"
    

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 2017-12-23
      • 1970-01-01
      相关资源
      最近更新 更多