Foxtable(狐表)用户栏目专家坐堂 → [求助]老师帮助看下目录树的代码


  共有3022人关注过本帖树形打印复制链接

主题:[求助]老师帮助看下目录树的代码

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]老师帮助看下目录树的代码  发帖心情 Post By:2014/12/24 22:42:00 [只看该作者]

我在窗口中的某个按钮中写了如下代码:
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中未出现过,老师看看能实现吗?谢谢老师。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/24 22:47:00 [只看该作者]

tb.TreeFilter = "[是否制单]=False and 通知单号 not in ('" &  DataTables("B").GetComboListString("通知单号").Replace("|", "','") & "')"

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2014/12/24 22:56:00 [只看该作者]

甜老师,神人也,真的行,这个 not in 是什么语句啊,没接触过。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/24 22:58:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2014/12/25 9:04:00 [只看该作者]

tb.TreeFilter = "[是否制单]=False and 通知单号 not in ('" &  DataTables("B").GetComboListString("通知单号").Replace("|", "','") & "')"

这段代码中的 and 为什么不能用 andalso 我刚试着用就出错了,说缺少运算符

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/25 10:17:00 [只看该作者]

 andAlso 是代码,不是设置表达式的语法


 回到顶部