На самом деле, если присмотреться к вашему коду более внимательно, если то, что вы опубликовали, на самом деле то, что вы используете, то, я думаю, я вижу проблему. У вас есть пробел сразу после первой одинарной кавычки, а другой сразу перед последней. Это:
BindingSource.Filter = "[field]>= ' " & value1 & "' and [field] <= '" & value2 & " ' "
на самом деле должно быть так:
BindingSource.Filter = "[field]>= '" & value1 & "' and [field] <= '" & value2 & "'"
Это прекрасный пример того, почему вы должны использовать String.Format
или интерполяцию строк, потому что использование нескольких операторов &
делает код менее читабельным и, следовательно, более подверженным ошибкам:
BindingSource.Filter = String.Format("[field] >= '{0}' and [field] <= '{1}'", value1, value2)
или
BindingSource.Filter = $"[field] >= '{value1}' and [field] <= '{value2}'"