Foxtable(狐表)用户栏目专家坐堂 → [求助]这样的结果如何实现?


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

主题:[求助]这样的结果如何实现?

美女呀,离线,留言给我吧!
rophy0952
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:581 积分:4989 威望:0 精华:0 注册:2014/6/12 14:55:00
[求助]这样的结果如何实现?  发帖心情 Post By:2015/1/2 11:49:00 [只看该作者]

有三个表,分切工piao信息、成品检验记录表、核数表。
希望在核数表“不良品_只数”值变化的时候,将成品检验记录表中的“不良项目_只数”按照“不良项目_班组”进行合计到分切工piao信息表中对应的“不良只数”中。(之前是在成品检验记录表字段值变化的时候进行赋值,因两个表有时录入顺序经常颠倒,所以经常无法值赋到分切工piao信息表中去。)为改变现状,欲做此改变。
之前成品检验记录表中的代码为:
Select Case e.DataCol.Name
    Case "不良项目1_只数","不良项目2_只数","不良项目3_只数","不良项目4_只数","不良项目5_只数","不良项目6_只数","不良项目7_只数","不良项目8_只数","不良项目9_只数","不良项目10_只数"
        Dim dr1 As DataRow
        Dim bz As String = e.DataCol.Name.Replace("只数","班组")
        dr1 = DataTables("分切工piao信息").SQLFind("[流水号] = '" & e.DataRow("流水号") & "' And 分切班组 = '" & e.DataRow(bz) & "'")
        If dr1 IsNot Nothing Then
            Dim n As Double
            For Each sdr As DataRow In e.DataTable.Select("流水号='" & e.DataRow("流水号") & "'")
                For i As Integer = 1 To 10
                    If sdr("不良项目" & i & "_责任").Contains("分切") AndAlso sdr("不良项目" & i & "_班组") = e.DataRow(bz) Then
                        n = n + sdr("不良项目" & i & "_只数")
                    End If
                Next
            Next
            dr1("不良只数") = n
            dr1.Save
        End If
End Select
请问如果是在核数表字段的值改变时,该如何写代码?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb



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


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

一般来说,表A写了计算代码,如果表B的数据变化会影响表A的计算结果,可以在表B写代码,找出表A对应的行,然后用RaiseDataColChanged强行触发表A的DataColChanged时间,表B的代码类似:

 

Select Case e.DataCol.Name
    Case
"数量","单价","折扣"
       
Dim pr As DataRow
        pr =
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
        If
pr IsNot Nothing Then
            DataTables
("统计").DataCols("产品").RaiseDataColChanged(pr)
        End
If
End
Select

 

你可以看一下这个:

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

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

 

有问题再说话。


 回到顶部