以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关联两表生成单列再据此生成树的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26546)

--  作者:wfkbabro
--  发布时间:2012/12/7 16:32:00
--  [求助]关联两表生成单列再据此生成树的问题

更新示例,谢谢:

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目104.zip

 

目的:
想实现 "带部门名称及用户名的树形展示",

"公司\\办公室\\张三"
"公司\\办公室\\李四"
"公司\\工程部\\王五"

 

环境:
有两个表(如图)


此主题相关图片如下:未命名.png
按此在新窗口浏览图片

就新建了个窗口 "C_用户选择"

 

并用了下面的代码
{
t1="Select ({X_OBS}.全名称 + \'\\\' + {X_USER}.名称) as 部门与名称 FROM {X_OBS} INNER JOIN {X_USER} ON {X_OBS}._Identify = {X_USER}.部门编号"
Dim tbl As WinForm.Table
tbl = forms("C_用户选择").CreateSQLTable("L_临时用户名及部门表", t1,"sqlpAwkj")
tbl.SetBounds(0, 0, 0, 0)
forms("C_用户选择").AddControl(tbl)
Dim tr As WinForm.TreeView = Forms("C_用户选择").Controls("TreeView1")
tr.CreateTree("L_临时用户名及部门表","全名称")
}

 

问题:
可是提示错误(如图),请问应该用什么办法来实现好一点?

[此贴子已经被作者于2012-12-7 17:01:52编辑过]

--  作者:blackzhu
--  发布时间:2012/12/7 17:17:00
--  
Dim t1 As String
t1="Select ({X_OBS}.全名称 + \'\\\' + {X_USER}.名称) as 部门与名称 FROM {X_OBS} INNER JOIN {X_USER} ON {X_OBS}._Identify = {X_USER}.部门编号"
Dim dtb As New DataTableBuilder("生成目录树")
dtb.AddDef("目录树", Gettype(String), 32)
dtb.Build()
DataTables("生成目录树").Fill(t1,"数据源",False)
Dim tr As WinForm.TreeView = Forms("C_用户选择").Controls("TreeView1")
tr.CreateTree("生成目录树","列名")

--  作者:lin_hailun
--  发布时间:2012/12/7 17:22:00
--  
 简单做法是,建立关联,然后,增加一列表达式列。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目104.table



--  作者:wfkbabro
--  发布时间:2012/12/7 17:46:00
--  

谢谢两位,

一楼的还是报错误提示:对于多个基表不支持动态SQL生成。可用相同语句测试能生成表装入TABLE1控件里,奇怪了

采纳了二楼的办法,再次谢谢两位。

 


--  作者:sunbrain
--  发布时间:2012/12/7 20:05:00
--  
以下是引用lin_hailun在2012-12-7 17:22:00的发言:
 简单做法是,建立关联,然后,增加一列表达式列。

 
 下载信息  [文件大小:316.0 KB  下载次数:5]
图片点击可在新窗口打开查看点击浏览该文件:管理项目104.table
 
谢谢,我也用上了,