以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]集合问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2178)

--  作者:狐哥
--  发布时间:2009/3/23 13:27:00
--  [求助]集合问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


各位老师帮看看,这个公式如何写.
跟据表C的选择列,自动提取其内容到表B的第一列中,(不重复内容)
--  作者:don
--  发布时间:2009/3/23 14:15:00
--  
 

GetComboListString

从指定的列中提取不重复的值,用符号"|"将这些值连接成一个字符串,并返回这个字符串。
此方法通常用于动态设置列表项目。

语法:

GetComboListString(ColumnName,Filter)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值。

请参考表达式的运算符和函数

示例

Output.Show(DataTables("订单").GetComboListString("产品"))

也可以设置条件,例如从客户表中提取华中地区的客户名单:

Output.Show(DataTables("客户").GetComboListString("客户名称","[地区] = \'华北\'"))


--  作者:狐哥
--  发布时间:2009/3/23 14:42:00
--  
以下是引用don在2009-3-23 14:15:00的发言:
 

GetComboListString

从指定的列中提取不重复的值,用符号"|"将这些值连接成一个字符串,并返回这个字符串。
此方法通常用于动态设置列表项目。

语法:

GetComboListString(ColumnName,Filter)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值。

请参考表达式的运算符和函数

示例

Output.Show(DataTables("订单").GetComboListString("产品"))

也可以设置条件,例如从客户表中提取华中地区的客户名单:

Output.Show(DataTables("客户").GetComboListString("客户名称","[地区] = \'华北\'"))

跟据表C的选择列,自动提取其内容到表B的第一列中,(不重复内容)
呵呵,我不是要列表项目呢.窗口中的公式我做不下去了,不知如何做.麻烦看看我的公式

[此贴子已经被作者于2009-3-23 14:42:32编辑过]

--  作者:smileboy
--  发布时间:2009/3/23 14:57:00
--  
http://www.foxtable.com/dispbbs.asp?boardid=2&id=1988
--  作者:狐哥
--  发布时间:2009/3/23 16:16:00
--  
以下是引用smileboy在2009-3-23 14:57:00的发言:
http://www.foxtable.com/dispbbs.asp?boardid=2&id=1988

这是列表的列子,我是数具表呢,能否帮我在上面文件中更改一下.试好好多次,不知如何设置才好.
麻烦大家了.


--  作者:狐狸爸爸
--  发布时间:2009/3/23 16:48:00
--  
我有点奇怪,两个表没有关联,从表C内容列提取的内容,应该放到表B中的哪一行呢?
[此贴子已经被作者于2009-3-23 17:11:20编辑过]

--  作者:狐哥
--  发布时间:2009/3/24 9:35:00
--  
以下是引用狐狸爸爸在2009-3-23 16:48:00的发言:
我有点奇怪,两个表没有关联,从表C内容列提取的内容,应该放到表B中的哪一行呢?
[此贴子已经被作者于2009-3-23 17:11:20编辑过]

呵,不用关联,因是用在销帐处理表中的,表能的内容列放在表B的第一列中呀.


--  作者:狐狸爸爸
--  发布时间:2009/3/24 9:42:00
--  
以下是引用狐哥在2009-3-24 9:35:00的发言:

呵,不用关联,因是用在销帐处理表中的,表能的内容列放在表B的第一列中呀.


呵呵,我问的不是放在那一列,而是放在那一行?


--  作者:狐哥
--  发布时间:2009/3/24 9:59:00
--  
以下是引用狐狸爸爸在2009-3-24 9:42:00的发言:


呵呵,我问的不是放在那一列,而是放在那一行?

不好意思,是表B的当前行(在我的系统中,表B是看不到的,只能看到新增行的录入窗口数具).窗口在表B中,公式我做了一点点,做不下去了.呵呵

[此贴子已经被作者于2009-3-24 10:00:18编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/3/24 10:11:00
--  

呵呵,你原来的代码太高级了,应该简单点:

If e.DataCol.Name = "内容" Then
    Dim dr As Row = Tables("表B").Current
    Dim Val As String = DataTables("表C").GetComboListString("内容","")
    dr("第一列") = Val.Replace("|",",")
End If