End If
报错(未知编译错误) 行不通...
2-然后我改另一个思路...
在子表B保存行前 取该行的"LOG"列值 填写到
该行在父表A中的 ("指定设计员")列...
所以把代码改为:
Dim p As DataRow = e.DataRow.GetParentRow("指定设计员")
e.DataRow("log") = p("指定设计员")
还是报错...
但第2个思路不对...因为子表与父表是多对一,这样每保存一行子表就运行代码...效率很不好
第1个思路比较好但也不完整,
虽然它在子表B的第1 笔存档时判断,父表A没有"指定设计员" 用OPEN QQ 就能通知主管修改父表
这样第2笔起就不会再出现提示...但因为图档设计涉及设计师的绩效奖金,第2笔起可能涉及换人设计...SO,很不好搞定,
所以结论是...真正需要的代码是:
在子表B 新增第一行保存行前, 判定父表A中 该行的 "指定设计员" 是否为修改设计图的编辑人...
(编辑人: 表B 的"上传图档"列 变化时将USER写到 "LOG"列)
也就是保存表B 第一行前 → 判定父表A 的 "指定设计人"与表B"LOG"列
>不管表A 的 "指定设计人"是否为空...
>> 把 表B中 "LOG" 列的值,填入父表A 的 "指定设计人"
表B 同一父表行(相同来源单号)的第2行起...保存行前判定父表A 的 "指定设计人" 是否不为空且= "LOG" 列...
>是: 保存行
>否: 提示 "图档编辑人不是指定设计人!...是否更新"指定设计人"
>> Ok→用 "LOG" 值更换掉表A \'指定设计人"后保存
>> Cancel→"指定设计人" 不是空值时, 不替换直接保存...
>> Cancel→"指定设计人" 为空值时用, 先取表B 同一父表行(相同来源单号)的第1行"LOG"值, 填入父表A 的 "指定设计人" 再保存
请蓝老师指导下...实现这思路的实用代码
谢谢!!