2016-05-15 85 views
0

我是一個沮喪的Newb。我正在嘗試使用幾個datetimepickers來顯示DataGridView中的Access數據庫的日期範圍。這裏是代碼我使用:VB.net和Access數據庫的DateTimePicker範圍

Dim dtp1 As String = DateTimePicker1.Text 
Dim dtp2 As String = DateTimePicker2.Text 
Dim strCriteria, task As String 

Me.Refresh() 
If dtp1 = "" Then 
MsgBox("Please Enter The Date Range", vbInformation, "Date Range Required") 
Else 
strCriteria = "([Appt Date] >= #" & dtp1 & "# And [Appt Date] <= #" & dtp2 _ 
& "#)" 
task = "SELECT * FROM BDC1 WHERE (" & strCriteria & ") order by [Appt Date]" 

End If 
+0

和,是什麼問題?描述問題...嘗試使用'between',例如'date1#和#date2#'之間的[App Date]而不是> =和<=。並且,注意日期格式...我主要使用'yyyy-mm-dd' ...並且,你不需要這些)在SQL查詢。 –

回答

0

嘗試更改您的代碼:

 Dim dtp1 As String = DateTimePicker1.SelectedDate.Value.ToString("#yyyy/MM/dd#") 
     Dim dtp2 As String = DateTimePicker1.SelectedDate.Value.ToString("#yyyy/MM/dd#") 

     Dim con As SqlConnection ="Your connection string here"  
     task = "SELECT * FROM BDC1 WHERE [Appt Date] BETWEEN '" + dtp1 + "' AND '" + dtp2 + "' 
     order by [Appt Date]" 
     Dim da As SqlDataAdapter = New SqlDataAdapter(task , con) 
     dim dt as new datatable() 
     da.Fill(dt) 
     con.Close() 
     YourdatagridviewName.Datasource=dt 
+0

所以我使用它,但更新datagridview以顯示它的最佳方式是什麼? @ Beldi Anouar – Ken

+0

@Ken我改變了我的答案,告訴你如何更新你的datagridView,將影響你的查詢結果作爲數據源。如果我的回答對你有幫助,請將其標記爲 –

+0

我很樂意標記它有幫助但到目前爲止它仍然不起作用。 – Ken