Foxtable(狐表)用户栏目专家坐堂 → 老师给价格筛选的代码


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

主题:老师给价格筛选的代码

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


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

 呃,没有表结构,谁知道怎么改。

 

 订单表和生产计划和零件用量有什么关系。


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


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

 订单和计划有什么联系?订单号就是计划编号?

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


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

这个意思?

 

Dim dic As new Dictionary(of String,Integer)
DataTables("零件需求").DataRows.Clear()
For Each dr1 As DataRow In DataTables("生产计划").Select("计划单号 = 'JH001'")
    For Each dr2 As DataRow In DataTables("零件用量").Select("[产品] = '" & dr1("产品") & "'")
        Dim nm As String = dr2("零件")
        Dim vl As Integer = dr1("生产数量") * dr2("用量")
        If dic.ContainsKey(nm) = False
            dic.Add(nm,vl)
        Else
            dic(nm) = dic(nm)+ vl
        End If
    Next
Next
For Each key As String In dic.keys
    Dim dr As DataRow = DataTables("零件需求").AddNew()
    dr("零件") = key
    dr("需求数量") = dic(key)
Next


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


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

Dim dic As new Dictionary(of String,Integer)
DataTables("零件需求").DataRows.Clear()
For Each dr1 As DataRow In DataTables("生产计划").Select("计划单号 = '" & Forms("窗口1").Controls("TextBox1").Text &  "'")
    For Each dr2 As DataRow In DataTables("零件用量").Select("[产品] = '" & dr1("产品") & "'")
        Dim nm As String = dr2("零件")
        Dim vl As Integer = dr1("生产数量") * dr2("用量")
        If dic.ContainsKey(nm) = False
            dic.Add(nm,vl)
        Else
            dic(nm) = dic(nm)+ vl
        End If
    Next
Next
For Each key As String In dic.keys
    Dim dr As DataRow = DataTables("零件需求").AddNew()
    dr("零件") = key
    dr("需求数量") = dic(key)
Next


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


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

 回复8楼,对。
[此贴子已经被作者于2014-6-22 22:42:10编辑过]

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


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

以下是引用seal51在2014-6-22 22:45:00的发言:
8楼是e.form.control, 9楼是& Forms("窗口1").Controls, 效果一样吗

 

一样,如果是在窗口事件写代码,就用e.Form

 

如果在是在别的地方,比如表事件,就不能用e.Form,只能用Forms("xxx")


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


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

Dim dic As new Dictionary(of String,Integer)
DataTables("零件需求").DataRows.Clear()
For Each dr1 As DataRow In DataTables("生产计划").Select("计划单号 = '" & Forms("窗口1").Controls("TextBox1").Text &  "'")
    For Each dr2 As DataRow In DataTables("零件用量").Select("[产品] = '" & dr1("产品") & "'")
        Dim nm As String = dr2("零件")
        Dim vl As Integer = dr1("生产数量") * dr2("用量")
        If dic.ContainsKey(nm) = False
            dic.Add(nm,vl)
        Else
            dic(nm) = dic(nm)+ vl
        End If
    Next
Next
For Each key As String In dic.keys
    Dim dr As DataRow = DataTables("零件需求").AddNew()

    dr("计划单号") = e.Form.Controls("TextBox1").Text 
    dr("零件") = key
    dr("需求数量") = dic(key)
Next


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


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

以下是引用seal51在2014-6-23 0:24:00的发言:
如果零件需求表里有个名称列,如何分组呢

 

之前的代码,就是通过产品名称就行分组统计的啊,你现在是什么意思?想根据名称列而不是产品列分组?


 回到顶部