Я создал форму, которая должна фильтровать по датам, которые могут вводить пользователи. После ввода необходимых дат пользователь нажимает кнопку «лимит», чтобы данные могли фильтровать этот диапазон. Это работает очень хорошо, пока пользователь не нажмет кнопку очистки.
Фильтрация все еще работает, НО погода, которую пользователи вводили, даты НЕ работает. Выдает ошибку «Ошибка выполнения 3000. Зарезервированная ошибка (-3201)
Валидация проверяет, была ли введена дата, в противном случае должно появиться окно сообщения.
- это «кнопка предела», которая показывает диапазон дат -
Private Sub eingrenzen()
Dim strCriteria, task As String
'MsgBox if no entry
' "Me.vonDatumFeld" is german and means "fromDate"
' "Me.bisDatumFeld" means "untilDate"
Me.Refresh
If IsNull(Me.vonDatumFeld) Or IsNull(Me.bisDatumFeld)
Then
MsgBox "Grenzen sie bitte den Zeitraum 'von' und 'bis' ein", vbInformation, "Zeitraum eingrenzen"
Me.vonDatumFeld.SetFocus
Else
strCriteria = "([Datum] >= #" & Format(Me.vonDatumFeld, "yyyy-mm-dd") & "# And [Datum] <= #" & Format(Me.bisDatumFeld, "yyyy-mm-dd") & "#)"
task = "select * from TblTeile where (" & strCriteria & ") order by [Datum]"
DoCmd.ApplyFilter task 'Wende ZeitraumFILTER an
End If
End Sub
- И это «кнопка очистки» -
Private Sub CmdLösch_Click()
Me.KIDText = vbNullString
Me.FirmaTxt = vbNullString
Me.DatumTxt = vbNullString
Me.ProdArttxt = vbNullString
Me.BeschrText = vbNullString
Me.MaterialText = vbNullString
Me.vonDatumFeld = vbNullString
Me.bisDatumFeld = vbNullString
Me.Filter = vbNullString
Me.FilterOn = False
Me.Requery
End Sub