我按帮助“美化自动编号”,在表中设置了一个表达式列[编号表达式]
表达式为
'WXMX' + SubString('000000', 1, 6 - Len(Convert([_Identify],'System.String'))) + Convert([_Identify], 'System.String')
我是用的外部数据表,表的过滤条件设置成了 [_Identify] Is Null
表的DataRowAdded代码为
For Each r As Row In Tables("表").Rows
r("编号") = r("编号表达式")
Next
当我新增行的时候
列[编号表达式]的值为WXMX000000,列[编号]的值根据DataRowAdded的代码也是WXMX000000
问题一:为什么会是000000呢?我看帮助上写:“新增行的_Identify列的内容是临时性的”,那这个临时性的值会是全0吗?
当我保存后,
列[编号表达式]的值变化,看帮助应该是因为“_Identify列会重新生成一个永久性的值”
那这时候,列[编号]却不跟着变。。。
我是想让编号列随着编号表达式列变化而变化,而现在只有在新增行的时候才可以
我把代码
For Each r As Row In Tables("表").Rows
r("编号") = r("编号表达式")
Next
放在DataColChanged,AfterEdit中,也没效果。
放在CurrentChange中,会有效果,不过得点击单元格。也不是我要的效果。
问题二:怎么能让[编号]跟着[编号表达式]一起变啊?代码应该怎么写,放在哪里呢?
[此贴子已经被作者于2016/6/17 15:38:37编辑过]