Foxtable(狐表)用户栏目专家坐堂 → [求助]两表合并筛选,填充问题


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

主题:[求助]两表合并筛选,填充问题

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
[求助]两表合并筛选,填充问题  发帖心情 Post By:2018/8/31 22:10:00 [只看该作者]

各位老师晚上好!!
我有两个表“GMYS”和“GMYX”,两个表中均有“HZXM”、“XZMC”列,现在需要将两个表中“HZXM”列中的值合并筛选,不重复。将筛选的结果填充到表“HZTJB”中的“河长姓名”,同时筛选条件以“XZMC”进行筛选,即:前两个表的“XZMC=”“HZTJB”的“乡镇名称”。
我相用代码如下,但不知如何融合,请大师帮忙:(代码需在菜单中的标准按钮用到)
DataTables("HZXHLTJB").DeleteFor("")'删除所有行
Dim f1 As New Filler
f1.SourceTable = DataTables("GMYS") '指定数据来源
f1.SourceCols = "XJHZXM" '指定数据来源列
f1.DataTable = DataTables("HZXHLTJB") '指定数据接收表
f1.DataCols = "HZXM" '指定数据接收列
f1.ExcludeExistValue=True '逻辑型,设为True,排除接收表中已经存在的内容.
f1.ExcludeNullValue=True '逻辑型,设为True,排除空白值.
f1.Distinct=True '逻辑型,是否排除重复内容,默认为True;如果设为False,将不会排除重复内容,也不会排除已有内容和空白值.


Dim f2 As New Filler
f2.SourceTable = DataTables("GMYX") '指定数据来源
f2.SourceCols = "XJHZXM" '指定数据来源列
f2.DataTable = DataTables("HZXHLTJB") '指定数据接收表
f2.DataCols = "HZXM" '指定数据接收列
f2.ExcludeExistValue=True '逻辑型,设为True,排除接收表中已经存在的内容.
f2.ExcludeNullValue=True '逻辑型,设为True,排除空白值.
f2.Distinct=True '逻辑型,是否排除重复内容,默认为True;如果设为False,将不会排除重复内容,也不会排除已有内容和空白值.

(把f2的值附给f1,排除重复项)

'f1.Fill() '填充数据

 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4748 积分:34538 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/8/31 22:40:00 [只看该作者]

文字表述太抽象,请上传项目文件


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110527 积分:562519 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/31 22:48:00 [只看该作者]

“GMYS”和“GMYX”两个表合并成一个查询表在处理:http://www.foxtable.com/webhelp/scr/2322.htm

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/8/31 23:14:00 [只看该作者]

谢谢两位老师,我的项目文件呈上:
数据来源为:GMYS、GMYX两个表的“HZXM”,由于“HZXM”中的值是随时变动的,所以,我想设计一个初始化按钮,可以将接收表“河长辖河流统计表(HZXHLTJB)”中的河长姓名列(HZXM)根据两个基础数据表“GMYS、GMYX”中的"HZXM"按“乡镇名称(XZMC)”筛选,排出重复值后,自动填入。谢谢老师们!!!
[此贴子已经被作者于2018/8/31 23:21:31编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110527 积分:562519 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/1 8:54:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/9/1 10:22:00 [只看该作者]

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

项目文件呈上,请大师们帮忙。

 

数据来源为:GMYS、GMYX两个表的“HZXM”,由于“HZXM”中的值是随时变动的,所以,我想设计一个初始化按钮,可以将接收表“河长辖河流统计表(HZXHLTJB)”中的河长姓名列(HZXM)根据两个基础数据表“GMYS、GMYX”中的"HZXM"按“乡镇名称(XZMC)”筛选,排出重复值后,自动填入。谢谢老师们!!!
[此贴子已经被作者于2018/9/1 10:22:22编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110527 积分:562519 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/1 10:59:00 [只看该作者]

DataTables("HZXHLTJB").DeleteFor("")
Dim cmd As new SQLCommand
cmd.CommandText = "select distinct hzxm from (Select qjhzxm As hzxm  from {GMYS} union all Select XJHZXM As hzxm from {GMYX}) as a"
Dim dt As DataTable = cmd.ExecuteReader()
Dim ndr  As DataRow
DataTables("HZXHLTJB").StopRedraw
For Each dr As DataRow In dt.DataRows
    ndr = DataTables("HZXHLTJB").AddNew
    ndr("HZXM") = dr("hzxm")
Next
DataTables("HZXHLTJB").ResumeRedraw

如果要加条件
Dim xz As String = "道让"
cmd.CommandText = "select distinct hzxm from (Select qjhzxm As hzxm  from {GMYS} where SJXZMC='" & xz & "' union all Select XJHZXM As hzxm from {GMYX} where SJXZMC='" & xz & "') As a"

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


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
  发帖心情 Post By:2018/9/1 11:14:00 [只看该作者]

非常感谢“有点蓝”老师!!

 回到顶部