一个任务单表,一个与任务单表关联的放行单表,任务单表中的“监造是否完成”列中的状态需根据放行单关联行中“监造是否完成”栏的值进行变更,当在放行单表中关联行多于一条时,如何将最后录入的一行中的“监造是否完成”栏值取到任务单表的对应栏。我现在只能取放行单表中中关联的第一行。请专家指点,谢谢!
维护的代码为:
监造基本信息表_DataColChanged
If e.DataCol.Name
= "监造流水号" Then
If e.NewValue Is Nothing Then
e.DataRow("监造是否完成") = Nothing
Else
Dim dr As DataRow
'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
dr = DataTables("监造放行单表").Find("[监造流水号]
= '" & e.NewValue & "'")
If dr IsNot Nothing Then
e.DataRow("监造是否完成") =
dr("监造是否完成")
e.DataTable.Save()
End If
End If
End If
两个表为:
任务单表如下
任务编号 |
监造流水号 |
合同编号 |
监理人员 |
主要物资名称 |
合同交货时间 |
项目经理 |
监造是否完成 |
1 |
CI201410001 |
8100012345 |
李四 |
反应器 |
2014-10-31 |
易峰 |
部分完成 |
2 |
CI201410002 |
8100012346 |
王五 |
换热器 |
2014-10-31 |
易峰 |
正在监造 |
3 |
CI201410003 |
8100012347 |
张三 |
高压容器 |
2014-10-31 |
易峰 |
正在监造 |
4 |
CI201410004 |
8100012348 |
李四 |
低压容器 |
2014-10-31 |
易峰 |
正在监造 |
5 |
CI201410005 |
8100012349 |
张三 |
低压容器2 |
2014-10-31 |
易峰 |
正在监造 |
关联的放行单表如下:
任务编号 |
监造流水号 |
合同编号 |
主要物资名称 |
监造放行单编号 |
监造是否完成 |
监理人员 |
1 |
CI201410001 |
8100012345 |
反应器 |
CI201410001F001 |
部分完成 |
李四 |
1 |
CI201410001 |
8100012345 |
反应器 |
CI201410001F002 |
全部完成 |
李四 |