MS Access 2010: диапазон дат - PullRequest
       11

MS Access 2010: диапазон дат

0 голосов
/ 26 апреля 2018

Примечание: SMonth - дата до, а SYear - дата от. Я просто не изменил имена, но формат уже был изменен на короткую дату.

Я создал код в Microsoft Access Visual Basic для создания диапазона дат, но когда я набираю диапазон дат в обоих текстовых полях SMonth и SYear, он показывает только записи с датами от 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 & "')) "

1 Ответ

0 голосов
/ 26 апреля 2018

Ваши 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") & "#"
...