Foxtable(狐表)用户栏目专家坐堂 → 需求数量与可供给数量匹配的问题(OK)


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

主题:需求数量与可供给数量匹配的问题(OK)

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 15:02:00 [显示全部帖子]

参考二楼代码,按钮代码这样写。效率如果很慢的话,再优化。

 

Dim filter As String = "需求日期 > #" & new Date(2014,04,12) & "#"
DataTables("物料需求").DataCols("产品编码").RaiseDataColChanged(filter)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 15:03:00 [显示全部帖子]

 优化可以参考这一章

 

http://www.foxtable.com/help/topics/2219.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 15:52:00 [显示全部帖子]

以下是引用scott518在2014-4-24 15:33:00的发言:
谢谢两位老师,我再想想看,原来是想将两张表查询到一起排好序后再加载到前台来,(因为两张表其实都是不用输入的,是从sql数据库中的多张表表查询得到的)

 

那样的话,把代码改一下也可以用了。

 

Dim filter As String = "需求日期 > #" & new Date(2014,04,12) & "#"
For Each dr As DataRow In DataTables("物料需求").Select(filter)
    Dim s As String = "产品编码='" & dr("产品编码") & "' and 交货日期<=#" & dr("需求日期") & "#"
    Dim dr1 As DataRow = DataTables("采购在线").Find(s,"交货日期 Desc")
    If dr1 IsNot Nothing
        dr("可供给量") = dr1("累计交货")
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/24 15:53:00 [显示全部帖子]

 加一句,如果是查询表,那完全可以自己用sql语句生成你想要的东西,而不用查找填充。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/25 11:14:00 [显示全部帖子]

 感觉过于复杂了,不建议编写那么长的查询语句。

 

 你这样做吧,你去数据库里建立两个 视图, 把那两个表的sql语句写好,直接引用视图比较好

 

Select 产品编码,需求日期, 需求数量, (Select Top 1 预计交货 from {视图2} As b where a.产品编码 = b.产品编码 and b.交货日期 <= a.需求日期 order by b.交货日期 desc) As 预计交货 from {视图1} As a


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/25 15:50:00 [显示全部帖子]

 呃,你说的是不是这个意思?

 

Select 物料编码, 需求日期,sum(需求数量) As 需求数量, (Select sum(需求数量) from MPS物料明细 b where a.a.物料编码 = b.物料编码 And b.需求日期 <= a.需求日期) As 累计需求 FROM MPS物料明细 a group by 物料编码,需求日期


 回到顶部