以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]两表合并筛选,填充问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124172)

--  作者:bashanren
--  发布时间: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
--  发布时间:2018/8/31 22:40:00
--  
文字表述太抽象,请上传项目文件


--  作者:有点蓝
--  发布时间:2018/8/31 22:48:00
--  
“GMYS”和“GMYX”两个表合并成一个查询表在处理:http://www.foxtable.com/webhelp/scr/2322.htm
--  作者:bashanren
--  发布时间:2018/8/31 23:14:00
--  
谢谢两位老师,我的项目文件呈上:
数据来源为:GMYS、GMYX两个表的“HZXM”,由于“HZXM”中的值是随时变动的,所以,我想设计一个初始化按钮,可以将接收表“河长辖河流统计表(HZXHLTJB)”中的河长姓名列(HZXM)根据两个基础数据表“GMYS、GMYX”中的"HZXM"按“乡镇名称(XZMC)”筛选,排出重复值后,自动填入。谢谢老师们!!!
[此贴子已经被作者于2018/8/31 23:21:31编辑过]

--  作者:有点蓝
--  发布时间:2018/9/1 8:54:00
--  
请上传实例说明
--  作者:bashanren
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间: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
--  发布时间:2018/9/1 11:14:00
--  
非常感谢“有点蓝”老师!!