Foxtable(狐表)用户栏目专家坐堂 → 如何设置表达式公式


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

主题:如何设置表达式公式

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/19 0:33:00 [只看该作者]

以下是引用zhangning在2016/7/18 18:04:00的发言:
因为是新人,看不懂,粘帖改用后,不管用,麻烦老师帮我写个完整的呗,

 

那上传foxtable实例。


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


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/7/19 11:02:00 [只看该作者]


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



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


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/7/19 11:11:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:baidu ime_2016-7-19_11-7-5.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/7/19 11:23:00 [只看该作者]

希望达到的效果有2个
1.只要“略”列有内容的,在部品工程项目列里,合并“部品ID”工程"略"3列的字符,
  列内容为空时,参照上行最近的内容
2.在“略”列有内容的在“合并归类时间”列单元格内,合计“平均每个时间”,
  例如
图片点击可在新窗口打开查看此主题相关图片如下:134.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/19 11:26:00 [只看该作者]

DataColChanged事件

 

Select Case e.DataCol.name
    Case "部品ID", "工程", "略"
        Dim i As Integer = Tables("表A").FindRow(e.DataRow)
        If i > -1 Then
            Dim idx As Integer = i
            Do While idx > 0
                If Tables("表A").Rows(idx).IsNull("部品ID") Then
                    idx -= 1
                Else
                    Exit Do
                End If
            Loop
            Dim str As String = ""
            Dim r As Row = Tables("表A").Rows(idx)
            str = r("部品ID")
            idx = i
            Do While idx > 0
                If Tables("表A").Rows(idx).IsNull("工程") Then
                    idx -= 1
                Else
                    Exit Do
                End If
            Loop
            r = Tables("表A").Rows(idx)
            str &= r("工程")
            str &= e.DataRow("略")
            e.DataRow("部品工程项目") = str
        End If
End Select


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


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/7/19 11:47:00 [只看该作者]

谢谢老师,真快,
粘帖进去后,没反应,我将“部品工程项目”列表达式转数据列后,也是没反应,不知道原因出在哪里


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/19 12:09:00 [只看该作者]

以下是引用zhangning在2016/7/19 11:47:00的发言:
谢谢老师,真快,
粘帖进去后,没反应,我将“部品工程项目”列表达式转数据列后,也是没反应,不知道原因出在哪里

 

修改,或者重置 部品ID, 工程, 略 列

 

http://www.foxtable.com/webhelp/scr/1469.htm

 


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


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/7/19 13:54:00 [只看该作者]

按照老师教的方法,问题非常漂亮的解决了,谢谢!
老师:还有一个问题,这个事例中,如在MC3这个工序中,有3个细项(段、装、机),
装下边有(作业前处理+装夹,关键测量,去毛刺,检查表D级,作业前检查,打piao+转出)“平均每个的时间(第三方数据基准)”列是各自的时间,如何设置代码,将“略”列的时间SUM起来,

图片点击可在新窗口打开查看此主题相关图片如下:234.jpg
图片点击可在新窗口打开查看
如图中最后一列的00:20:37就是合计的时间,
老师,这个也麻烦给谢谢具体的代码呗。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/19 14:55:00 [只看该作者]

Select Case e.DataCol.name
    Case "部品ID", "工程", "略"
        Dim i As Integer = Tables("表A").FindRow(e.DataRow)
        If i > -1 Then
            Dim idx As Integer = i
            Do While idx > 0
                If Tables("表A").Rows(idx).IsNull("部品ID") Then
                    idx -= 1
                Else
                    Exit Do
                End If
            Loop
            Dim str As String = ""
            Dim r As Row = Tables("表A").Rows(idx)
            str = r("部品ID")
            idx = i
            Do While idx > 0
                If Tables("表A").Rows(idx).IsNull("工程") Then
                    idx -= 1
                Else
                    Exit Do
                End If
            Loop
            r = Tables("表A").Rows(idx)
            str &= r("工程")
            str &= e.DataRow("略")
            e.DataRow("部品工程项目") = str
            If e.DataRow("略") = "装" Then
                idx = i
                Dim sum As Double = 0
                Do While idx < Tables("表A").Rows.count
                    r = Tables("表A").Rows(idx)
                    If idx = i OrElse r.IsNull("略")  Then
                        Dim d As Date = r("平均每个时间")
                        sum += d.Hour * 3600 + d.Minute * 60 + d.Second
                        idx += 1
                    Else
                        Exit Do
                    End If
                Loop

                e.DataRow("合并归类时间") = new Date(1, 1, 1, sum \ 3600, (sum Mod 3600) \ 60, sum Mod 60)
            End If
        End If
End Select


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