Sql server 如何在2个数据选择器之间搜索日期范围?

Sql server 如何在2个数据选择器之间搜索日期范围?,sql-server,vb6,Sql Server,Vb6,如何使用vb6中的日期在2个数据选择器之间搜索数据? 例如2019年10月20日至2019年10月30日,则将显示10月20日至10月30日的所有结果 loadData "Select CheckDate From tbl_Checklist where 'Format(CheckDate, 'MM dd, yyyy')BETWEEN '" & DTPicker2.Value & "' AND ' " & DTPicker3.Value & " '" 如果

如何使用vb6中的日期在2个数据选择器之间搜索数据? 例如2019年10月20日至2019年10月30日,则将显示10月20日至10月30日的所有结果

   loadData "Select CheckDate From tbl_Checklist where 'Format(CheckDate, 'MM dd, yyyy')BETWEEN '" & DTPicker2.Value & "' AND ' " & DTPicker3.Value & " '"

如果您只是希望SQL在两个日期之间搜索。。您只需在where子句中将日期选择器值强制转换为date

    select 
     your_list_of_columns 
   from your_table
    where some_date_column between cast(DRpicker1value as date) and cast(DRpicker2value as date)
既然你已经更新了你的问题。。你必须这样做:

between Format(DTPicker1.value, "DD-MM-YYYY") & " and " & Format(DTPicker2.value, "DD-MM-YYYY")

您的SQL查询可以如下所示:

Dim sSQLStatement As String
sSQLStatement = "SELECT CheckDate FROM tbl_Checklist WHERE CheckDate BETWEEN #" & DTPickerStart & "# AND #" & DTPickerEnd & "#"
loadData sSQLStatement

有更好的方法可以做到这一点,但作为一个快速修复,让你继续前进,它应该工作。您应该使用参数查询并将日期类型的数据传递给它。

先生可能会问我是在表单加载中还是在dtpicker中对其进行编码?请参阅上面编辑的答案。。在where子句(作为LoadData语句的一部分)中将日期选择器值传递给SQL之前,格式化日期选择器值。您上面的代码,先生,我将把它放在我的visual basic 6.0中,如果我从2 dtpickerIt中选择date,则在我的列表视图中不会显示任何内容。我现在在dtpickerIt的下拉事件中对它进行了编码