MS Access 2010:日期范围

MS Access 2010: Date Range

注意:SMonth 是日期,SYear 是日期。我只是没有更改名称,但格式已经更改为短日期。

我在 Microsoft Access Visual Basic 中创建了一个代码来创建一个日期范围,但是当我在两个文本框 SMonthSYear 中键入日期范围时,它只显示带有日期来自 txtYear 而不是范围日期本身。这是代码。

'Date Range
ElseIf Me.SEmployeeName = "" And Me.Soo = False And Me.Scc = False And 
Me.SMonth <> "" And Me.SYear <> "" Then
Me.tbl_ALL_Query_subform.Form.RecordSource = "Select * from tbl_ALL where 
((((tbl_ALL.NTEDate ) <=  '" & Me.SMonth.Value & "') AND (tbl_ALL.NTEDate) >= 
'" & Me.SYear.Value & "')) "

你的 txtTo 和 txtFrom 好像没有起作用,很难说。

但是,您将日期与文本进行比较,因此请调整您的查询:

ElseIf Me.SEmployeeName = "" And _
    Me.Soo = False And Me.Scc = False And _
    Me.SMonth <> "" And Me.SYear <> "" Then

    Me!tbl_ALL_Query_subform.Form.RecordSource = _
    "Select * from tbl_ALL where Month(tbl_ALL.NTEDate) <= " & Me!SMonth.Value & " AND Year(tbl_ALL.NTEDate) >= " & Me!SYear.Value & ""

如果开始日期结束日期

"Select * From tbl_ALL Where tbl_ALL.NTEDate Between #" & Format(Me!StartDate.Value, "yyyy\/mm\/dd") & "# And #" & Format(Me!EndDate.Value, "yyyy\/mm\/dd") & "#"