数据库动态查询
❶ vb6 动态查询 sqlserver 2008 R2数据库中的数据
看你的字段时间,是前面最小后面最大,假设你时间最大的是出库完成(如果不是,你自己修改下)时间范围限定应该限定最小时间字段和最大时间字段都在范围内,时间差用datediff函数,不过这玩意取整数,如果用小时为单位的话,一小时50分钟也算一小时,所以取分钟为单位
如下(假定最小日期是订单录入,最大日期是出库完成,不是的话自己修改字段名)
SQL = "SELECT * from 表名 where datediff( minute," & Combo1(1).Text & " , " & Combo1(2).Text & " )> " & Text1.Text & "*60 AND 订单录入 >= '" & _
Format(DTPicker1(0).Value, "yyyy-MM-dd") & " 0:0:1' AND 出库完成 <= '" & Format(DTPicker1(1).Value, "yyyy-MM-dd") & " 23:59:59'"
如果不知道哪个字段是最大日期哪个字段是最小日期,那就只能每个字段都加限定条件了
这是两个字段判断,继续and下去,所有字段判断一遍,都不超出范围才算
Dim SQL As String
SQL = "SELECT * from 表名 where datediff( minute," & Combo1(1).Text & " , " & Combo1(2).Text & " )> " & Text1.Text & "*60 AND (订单录入 between '" & _
Format(DTPicker1(0).Value, "yyyy-MM-dd") & "' AND '" & Format(DTPicker1(1).Value, "yyyy-MM-dd") & "') AND (订单审核 between '" & _
Format(DTPicker1(0).Value, "yyyy-MM-dd") & "' AND '" & Format(DTPicker1(1).Value, "yyyy-MM-dd") & "')"