Foxtable(狐表)用户栏目专家坐堂 → [求助] SQL 条件错误


  共有2975人关注过本帖树形打印复制链接

主题:[求助] SQL 条件错误

美女呀,离线,留言给我吧!
susanhe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
[求助] SQL 条件错误  发帖心情 Post By:2020/7/22 17:55:00 [显示全部帖子]

老师,以下黄色的错了,帮忙指导一下,谢谢。


cmd.CommandText ="Se lect {t_Item}.FNumber,{t_Item}.FName,FShortName From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like '%WIN%'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] < = '" & e.Form.Controls("Datetimepicker1").Value & "' And {ICStockBill}.[FDate] > = '" & e.Form.Controls("Datetimepicker2").Value & "' Group By {t_Item}.FNumber,{t_Item}.FName,FShortName"


 回到顶部
美女呀,离线,留言给我吧!
susanhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/22 18:53:00 [显示全部帖子]

结果没有出来,错误信息也没有。

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/23 7:25:00 [显示全部帖子]

对的,不加黄色的话全部出来了。但是这个时间期是有记录的,是不是日期格式不对 ?

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/24 12:30:00 [显示全部帖子]

老师,找到原因了。这个 大于和小于弄反了。改过来就好了。

还有个问题,我要统计这其中每个产品的总量,可是不对。麻烦一下。


Dim val As Integer
Dim cmdz As New SQLCommand
cmdz.Co nnecti
cmdz.CommandText = "Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName,Sum({ICStockBillEntry}.[FQty]) From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like '%WIN%'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] > = '" & e.Form.Controls("Datetimepicker1").Value & "' And {ICStockBill}.[FDate] < = '" & e.Form.Controls("Datetimepicker2").Value & "'"
val = cmdz.ExecuteScalar()
For Each rr As Row In Tables("PPV").Rows
rr("数量总计") =sum(val("FQty"))
Next

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/24 14:35:00 [显示全部帖子]

老师,前面还有这段,谢谢了。

Dim cmd As New SQLCommand
Dim dt As DataTable
DataTables("PPV").datarows.clear
cmd.C  '外购入库单
Dim Cols111() As String = {"FNumber","FName","FShortName"}
Dim Cols222() As String = {"GSSPartNo","PartDesc","Supplier"}
cmd.CommandText ="Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like '%WIN%'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] > = '" & e.Form.Controls("Datetimepicker1").Value & "' And {ICStockBill}.[FDate] < = '" & e.Form.Controls("Datetimepicker2").Value & "' Group By {t_Item}.FNumber,{t_Item}.FName,FShortName"
dt = cmd.ExecuteReader()
For Each dr1 As DataRow In dt.DataRows
    Dim dr2 As DataRow = DataTables("PPV").AddNew()
    For i As Integer = 0 To Cols111.Length -1
        dr2(Cols222(i)) = dr1(Cols111(i))
    Next
Next
Tables("PPV").ResumeRedraw()

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/24 14:49:00 [显示全部帖子]

老师,水平有限,只能一步步来,可以帮忙合一下参考吗 ?

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/24 19:19:00 [显示全部帖子]

感谢老师,完全正确。

现在得出的是 Datetimepicker1 和 Datetimepicker2 的所有记录的值,然后存于表 PPV中了。 
那如何再根据 PPV中的每个产品,再统计每个产品的 ”上数量总计“。 日期范围 :Datetimepicker1 取  Datetimepicker1 和 Datetimepicker2 之间的差值。 Datetimepicker2 取  Datetimepicker1减少 1天。十分感谢。


 回到顶部
美女呀,离线,留言给我吧!
susanhe
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/25 10:30:00 [显示全部帖子]

老师,这范围如何表示,谢谢。

 回到顶部
美女呀,离线,留言给我吧!
susanhe
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:312 积分:2477 威望:0 精华:0 注册:2018/11/22 20:30:00
  发帖心情 Post By:2020/7/25 10:57:00 [显示全部帖子]

谢谢老师,操作一下了发现,需先使用以下查询,把结果取出才进行统计,如何再SQLcompute从这查询中取出结果?


cmd.CommandText ="Sel ect {t_Item}.FNumber,{t_Item}.FName,FShortName,{t_Item}.FItemID,Sum({ICStockBillEntry}.FQty) as FQty,Sum({ICStockBillEntry}.FAmount) as FAmount From ((({ICStockBillEntry} Inner JOIN {t_Item} ON {t_Item}.[FItemID] = {ICStockBillEntry}.[FItemID]) Inner JOIN {ICStockBill} ON {ICStockBill}.[FInterID] = {ICStockBillEntry}.[FInterID]) Left JOIN {POOrderEntry} ON {POOrderEntry}.[FInterID] = {ICStockBillEntry}.[FOrderInterID] And {POOrderEntry}.[FEntryID] = {ICStockBillEntry}.[FOrderEntryID]) Inner JOIN {t_Supplier} ON {t_Supplier}.[FItemID] = {ICStockBill}.[FSupplyID] Where {ICStockBill}.[FBillNo] like '%WIN%'and {ICStockBillEntry}.[FQty] > 0 and {ICStockBill}.[FDate] > = '" & e.Form.Controls("Datetimepicker1").Value & "' And {ICStockBill}.[FDate] < = '" & e.Form.Controls("Datetimepicker2").Value & "' Group By {t_Item}.FNumber,{t_Item}.FName,FShortName,{t_Item}.FItemID"


 回到顶部