У вас проблема с форматом даты (20/05/2018 против 2018/05/20).
Насколько "20"
больше "02"
, "20/05/2018"
больше "02/06/2018"
потому что вы заставляете Access интерпретировать его как строку, а не как дату.
для решения проблемы заставьте Access интерпретировать его как дату, используя #
вместо '
.
Изменитезапрос к Select * from [Income] where ([Income_Date] Between #" & from_date.Value.ToShortDateString & "# And #" & To_Date.Value.ToShortDateString & "#)
.