这种需要使用代码处理,参考:
http://www.foxtable.com/webhelp/topics/1453.htm
表B,datacolchanged事件
Select Case e.DataCol.Name
Case "切","磨","钢"
Dim Filter As String = "[生产单号] = '" & e.DataRow("生产单号") & "'"
DataTables("表A").DataCols("总进度_" & e.DataCol.Name).RaiseDataColChanged(Filter)
End Select
表A,datacolchanged事件
Select Case e.DataCol.Name
Case "总进度_切","总进度_磨","总进度_钢"
Dim Filter As String = e.DataCol.Name.split("_")(1) & " = '待生产'"
Dim Filter2 As String = e.DataCol.Name.split("_")(1) & " = '生产中'"
if DataTables("表B").compute("count(生产单号)",Filter) > 0 then
e.DataRow(e.DataCol.Name)= "待生产"
elseif DataTables("表B").compute("count(生产单号)",Filter2) > 0 then
e.DataRow(e.DataCol.Name)= "生产中"
else
e.DataRow(e.DataCol.Name)= "已完成"
end if
End Select