Foxtable(狐表)用户栏目专家坐堂 → 代码请教


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

主题:代码请教

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/27 9:14:00 [只看该作者]

Dim Max As Integer
Max = DataTables("某表).Compute("Max(某列)", "条件")
Dim Filter As String = "地区 = '华中'  And [完成时间] Is Not Null And [事件级别] = " & Max & " And 定单号 = '" & dr1("定单号") & "'"



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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/4/27 10:19:00 [只看该作者]


Max = DataTables("某表).Compute("Max(某列)", "条件")
条件是要在代码中设置好?
"条件"能不能设置成为自动选取"某列"的最大值?或最小值两种.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/27 10:20:00 [只看该作者]

条件是随意组合的,你想怎么计算都行。
最小值用Min计算。
你何不将表设计后,输入数据,给出具体的条件,这样一次搞定既可?
[此贴子已经被作者于2009-4-27 10:22:47编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/4/27 11:58:00 [只看该作者]

狐爸
这是文件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.table


在"开始出货日期列"中,要提取子表中"计划出货顺序"最小的出货日期
在"最后完成出货日期列"中.要提取子表中"计划出货顺序"最大的出货日期
子表"计划出货顺序列"中的出货次数是动态的,某张定单可能计划2次出货,可能又是5次出货

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/27 14:02:00 [只看该作者]

DataColChanged事件:

Select Case e.DataCol.Name
    Case "定单号"
        Dim dr1 As DataRow = e.DataRow
        Dim dr2 As DataRow
        Dim Filter As String = "[定单号] = '" & dr1("定单号") & "' And [完成时间] Is Not Null"
        dr2 = DataTables("华中定单完成统计").Find(Filter,"计划出货顺序")
        If dr2 IsNot Nothing Then
            dr1("开始出货时间") = dr2("完成时间")
        End If
        dr2 = DataTables("华中定单完成统计").Find(Filter,"计划出货顺序 Desc")
        If dr2 IsNot Nothing Then
            dr1("最后出货完成时间") = dr2("完成时间")
        End If
End Select



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.table


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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/4/27 15:50:00 [只看该作者]

狐爸
有一点问题
编号001定单总共有5次出货计划
而子表中只有2次出货日期
主表中001号定单的实际出货完成日期应该是空白啊,因为001号定单最后一次出货日期是空,没有日期啊....

[此贴子已经被作者于2009-4-27 15:51:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/27 16:29:00 [只看该作者]

出现这个问题,是因为我加入了日期不能为空的条件,你可以删除条件的:

Select Case e.DataCol.Name
    Case "定单号"
        Dim dr1 As DataRow = e.DataRow
        Dim dr2 As DataRow
        Dim Filter As String = "[定单号] = '" & dr1("定单号") & "'"
        dr2 = DataTables("华中定单完成统计").Find(Filter,"计划出货顺序")
        If dr2 Is Nothing Orelse dr2.Isnull("完成时间")  Then
            dr1("开始出货时间") = Nothing
        Else
            dr1("开始出货时间") = dr2("完成时间")
        End If
        dr2 = DataTables("华中定单完成统计").Find(Filter,"计划出货顺序 Desc")
        If dr2 Is Nothing Orelse dr2.Isnull("完成时间")  Then
            dr1("最后出货完成时间") = Nothing
        Else
            dr1("最后出货完成时间") = dr2("完成时间")
        End If
End Select
[此贴子已经被作者于2009-4-27 16:49:14编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2009/4/27 19:16:00 [只看该作者]

狐爸非常感谢你
解决问题了
感谢您耐心的教导
51前我会将在您的帮助下完成的作品发上来,您在看看,有没有什么需要简化的代码...
希望你能理解,我是菜鸟

 回到顶部
总数 18 上一页 1 2