Выбор строк из базы данных Access по критериям поиска по дате в форме VB.NET

У меня очень простая проблема. У меня есть несколько элементов управления DatePicker в моей форме VB.NET, и пользователи выбирают «startDate» и «endDate», и отображаются все строки из связанной таблицы, которые имеютorderDate между выбранными пользователем датами начала и окончания.

Ниже приведен соответствующий код:

Private Sub generate_report_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles generate_report.Click
    Try
        Dim con As New OleDb.OleDbConnection
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\KHMSDB.accdb"
        con.Open()
        Dim sql As String
        Dim selected As String = ""
        Dim ds As DataSet = New DataSet

        Dim adapter As New OleDb.OleDbDataAdapter
        sql = "SELECT OrderDate AS `Order Date and Time`, Items AS `Ordered Items` FROM Orders WHERE Format(Orders.OrderDate,'mm/dd/yyyy') >= #" + startDate.Value.Date + "# AND Format(Orders.OrderDate,'mm/dd/yyyy') <= #" + endDate.Value.Date + "#"
        adapter.SelectCommand = New OleDb.OleDbCommand(sql, con)
        adapter.Fill(ds)
        gridReport.DataSource = ds.Tables(0)

    Catch ex As Exception

        MsgBox("Operation failed. " + ex.ToString)

    End Try

Если я сохраняю новую строку в базе данных под сегодняшней датой и оставляю даты «начала» и «конца» как даты по умолчанию (то есть сегодняшнюю дату), она не показывает новую строку, которую я только что сохранил. Введенная сегодня новая строка отображается только в том случае, если я перенес «дату начала» до 30 ноября. Затем я добавляю новую строку с датой 12 декабря. Опять же, он не будет отображаться при выборе даты окончания> = 12 декабря, он будет отображаться только при переносе даты начала до 1 декабря. Я решил ввести строку, датированную 21 ноября, и выполнение запроса с начальной и конечной датами 21 ноября показывает эту строку. Затем я ввел новую строку 8 января ... и теперь любая комбинация перемещения вверх по startDate и / или перемещения вниз по endDate просто не отображает январский порядок. В чем дело?? Я на самом деле уже пробовал этот код до ноября, и он работал отлично!

Ответы на вопрос(1)

Ваш ответ на вопрос