我在窗口中的某个按钮中写了如下代码:
Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("A") '指定目录树表
tb.TreeCols = "通知单号" '指定用于生成目录树的列
tb.SourceCols = "通知单号|公司|代码|合同号|预计入库日期|合同主号" '指定数据来源列
tb.ReceiveCols = "通知单号|公司|代码|合同号|预计入库日期|合同主号" '指定数据接收列
tb.TreeWidth=150
tb.TreeFilter="[是否制单]=False"
Tables("B").Cols("通知单号").DropTree = tb.Build()
这段代码生成的目录树后有个瑕疵,假定A表中有三条记录的是否制单为false,哪么,这个目录树生成的选项一直会有三个,我现在希望选择一个并且写入表后,再选时这个之前选过的不要出现在选项中。
之前我通过B表中的代码修改A表相关记录的是否制单列值可以实时的去掉已经选用过的通知单号,但这个方案在局域网使用中容易产生冲突与错误,我也不想用独占模式写代码,这对初学者来说有点累,所以,我现在的项目实行一个原则:自己做自己的表,在自己的表中只能去引用别的表的数据,不得修改。
基于这个原则,上面的目录树代码中,tb.TreeFilter的条件我希望是:是否制单列为False并且通知单号在表B中未出现过,老师看看能实现吗?谢谢老师。