Foxtable(狐表)用户栏目专家坐堂 → 表达式不产生值


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

主题:表达式不产生值

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 12:24:00 [只看该作者]

原来的子表工步时间小计 变化后,必然会导致加工费小计的变化】 -- 没看到有这方面的代码,在哪?

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


加好友 发短信
等级:二尾狐 帖子:568 积分:4728 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/20 12:34:00 [只看该作者]

If e.DataRow("工序") = "镗床" And e.DataRow("工步") = "镗孔" Then '按线切割
Select Case e.DataCol.Name
    Case "直径" , "直径高度" , "系数1"
        If e.DataRow("系数1") = 0 Then
        e.DataRow("单工步加工时间") = 0
        Else
        e.DataRow("单工步加工时间") = e.DataRow("直径") * 3.14 * e.DataRow("直径高度") / e.DataRow("系数1") * 60
        End If
End Select
Select Case e.DataCol.Name
    Case "单工步加工时间" , "按时间加工单价"
        e.DataRow("单工步加工费") = e.DataRow("单工步加工时间") * e.DataRow("按时间加工单价")       单工步加工时间的变化会同时改变工步时间小计的变化和 加工费小计的变化
End Select
Select Case e.DataCol.Name
    Case "单工步加工费" , "一个零件上加工数量"
        e.DataRow("单个零件工步加工费") = e.DataRow("单工步加工费") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
    Case "单个零件工步加工费" , "零件数量"
        e.DataRow("加工费小计") = e.DataRow("单个零件工步加工费") * e.DataRow("零件数量")
End Select
Select Case e.DataCol.Name
    Case "单工步加工时间" , "一个零件上加工数量"
        e.DataRow("单个零件工步时间") = e.DataRow("单工步加工时间") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
    Case "单个零件工步时间" , "零件数量"
        e.DataRow("工步时间小计") = e.DataRow("单个零件工步时间") * e.DataRow("零件数量") 
End Select
End If 

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 13:47:00 [只看该作者]

把这个事件的完整代码发上来

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


加好友 发短信
等级:二尾狐 帖子:568 积分:4728 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/20 14:02:00 [只看该作者]



If e.DataRow("工序") = "备料" And e.DataRow("工步") = "棒料"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|材料密度|60|直径|60|直径高度|60|按重量材料单价|60|单件材料重量|60|单件材料价格|60|零件数量|60|材料费小计|60")
ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "板料"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|材料密度|60|长度|60|宽度|60|高度|60|按重量材料单价|60|单件材料重量|60|单件材料价格|60|零件数量|60|材料费小计|60")
    ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "按长度"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth ("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|长度|60|按长度材料单价|60|单件材料价格|60|零件数量|60|材料费小计|60") 
     ElseIf e.DataRow("工序") = "备料" And e.DataRow("工步") = "按数量"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth ("刷新|40|工步号|120|工序|60|工步|60|材料牌号|60|按数量材料单价|60|零件数量|60|材料费小计|60")

ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割孔"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|直径|60|直径高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
     ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割R角"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|直径|60|直径高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
     ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割矩形"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|长度|60|宽度|60|高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60")
     ElseIf e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割异型"Then
    Tables("零件加工报价系统_Table4").SetColVisibleWidth("刷新|40|工步号|120|工序|60|工步|60|异型线切割长度|60|高度|60|线切割引线长度|60|系数1|60|单工步加工时间|60|按时间加工单价|60|单工步线切割穿孔数量|60|按数量加工单价|60|单工步加工费|60|一个零件上加工数量|60|单个零件工步加工费|60|零件数量|60|单个零件工步时间|60|工步时间小计|60|加工费小计|60") 



    
Else
 End If


 


Tables("零件加工报价系统_Table4").AutoSizeRows()
If e.DataCol.Name = "工序号" Then
    If e.DataRow.IsNull("工序号") Then
        e.DataRow("工步号") = DBNull.Value
    Else
        
        e.DataRow("工步号") = e.DataRow("工序号") & "-" & Format(e.DataTable.Compute("Count(工序号)", "[工序号] = '" & e.DataRow("工序号") & "' And [_identify] < 0" & e.DataRow("_Identify")) + 1, "00")
    End If
End If

 e.DataRow("加工内容") = e.DataRow("工步") & e.DataRow("技术要求") & e.DataRow("直径") & e.DataRow("直径公差") & e.DataRow("高度") & e.DataRow("高度公差") & e.DataRow("零件数量")

 









    

If e.DataRow("工序") = "线切割" And e.DataRow("工步") = "割R角" Then '里面的代码只有符合这2个条件才会计算
Select Case e.DataCol.Name
    Case "直径" , "直径高度" , "线切割引线长度" , "系数1" 
        If e.DataRow("系数1") = 0 Then
        e.DataRow("单工步加工时间") = 0
        Else
        e.DataRow("单工步加工时间") = (e.DataRow("直径") * 3.14 * e.DataRow("直径高度") / 4 + e.DataRow("线切割引线长度")) / e.DataRow("系数1") * 60
        End If
End Select
Select Case e.DataCol.Name
    Case "单工步加工时间" , "按时间加工单价", "单工步线切割穿孔数量", "按数量加工单价"
        e.DataRow("单工步加工费") = e.DataRow("单工步加工时间") * e.DataRow("按时间加工单价") + e.DataRow("单工步线切割穿孔数量") * e.DataRow("按数量加工单价")
End Select
Select Case e.DataCol.Name
    Case "单工步加工费" , "一个零件上加工数量"
        e.DataRow("单个零件工步加工费") = e.DataRow("单工步加工费") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
    Case "单个零件工步加工费" , "零件数量"
        e.DataRow("加工费小计") = e.DataRow("单个零件工步加工费") * e.DataRow("零件数量")
End Select
Select Case e.DataCol.Name
    Case "单工步加工时间" , "一个零件上加工数量"
        e.DataRow("单个零件工步时间") = e.DataRow("单工步加工时间") * e.DataRow("一个零件上加工数量")
End Select
Select Case e.DataCol.Name
    Case "单个零件工步时间" , "零件数量"
        e.DataRow("工步时间小计") = e.DataRow("单个零件工步时间") * e.DataRow("零件数量") 
End Select
End If



Select Case e.DataCol.Name
   Case "材料费小计", "加工费小计", "刷新"
    Dim pr As DataRow
      pr = DataTables("零件加工报价系统_Table3").Find("工序号 = '" & e.DataRow("工序号") & "'")
      If pr IsNot Nothing Then
      DataTables("零件加工报价系统_Table3").DataCols("工序号").RaiseDataColChanged(pr)
 End If
End Select

















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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 14:32:00 [只看该作者]

加代码调试一下,看看提示框都弹出哪些?

msgbox(e.DataCol.Name)
Select Case e.DataCol.Name
   Case "材料费小计", "加工费小计", "刷新"
msgbox("工序号=" & e.DataRow("工序号"))
    Dim pr As DataRow
      pr = DataTables("零件加工报价系统_Table3").Find("工序号 = '" & e.DataRow("工序号") & "'")
      If pr IsNot Nothing Then
      DataTables("零件加工报价系统_Table3").DataCols("工序号").RaiseDataColChanged(pr)
 End If
End Select

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


加好友 发短信
等级:二尾狐 帖子:568 积分:4728 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/20 14:38:00 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 14:56:00 [只看该作者]

去修改单工步加工时间看都弹出什么提示?

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


加好友 发短信
等级:二尾狐 帖子:568 积分:4728 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/20 15:09:00 [只看该作者]

出现生产管理.TABLE.DB549CAC窗口 :分别是加工费小计工序号=RW6000-LJ-01-01,单个零件工步加工费,单工步加工费,工步时间小计,单个零件工步时间,单工步加工时间,直径

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 15:36:00 [只看该作者]

再调试一下

msgbox(e.DataCol.Name)
Select Case e.DataCol.Name
   Case "材料费小计", "加工费小计", "刷新"
msgbox("工序号=" & e.DataRow("工序号"))
    Dim pr As DataRow
      pr = DataTables("零件加工报价系统_Table3").Find("工序号 = '" & e.DataRow("工序号") & "'")
      If pr IsNot Nothing Then
msgbox("pr IsNot Nothing")
      DataTables("零件加工报价系统_Table3").DataCols("工序号").RaiseDataColChanged(pr)
 End If
End Select


父表DataColChanged   
msgbox("父表:" & e.DataCol.Name)
Select Case e.DataCol.Name 
Case "工序号"
msgbox(11)
   e.DataRow("估工") = DataTables("零件加工报价系统_Table4").Compute("Sum(工步时间小计)/60", "[工步号] Like '" & e.DataRow("工序号") & "-*'")
msgbox(12)
End Select

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


加好友 发短信
等级:二尾狐 帖子:568 积分:4728 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/20 15:40:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
总数 62 上一页 1 2 3 4 5 6 7 下一页