資料庫動態查詢
❶ 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") & "')"