以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何在用QueryBuilder生成的临时表中合并外部数据(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53662)

--  作者:yyzlxc
--  发布时间:2014/7/12 18:19:00
--  [求助]如何在用QueryBuilder生成的临时表中合并外部数据(已解决)
用QueryBuilder生成的临时表A,设想用以下代码将外部B表的“入厂时间”根据“编号”合并到A表,代码应该如何修改,请各位老师指教,谢谢。

Dim s As new QueryBuilder \'生成临时表
s.TableName = "A"
s.C ’数据源
s.SelectString = "Select 编号,姓名 From {员工名册}"
s.Build
Dim t As Table = Tables("A")
t.DataTable.DataCols.Add("入厂时间", Gettype(Date)) ‘增加列

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C ‘数据源
cmd.CommandText = "SELECT * From {B}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    ’If DataTables("员工").Find("编号 = \'" & dr("编号") & "\'") Isnot Nothing Then
        Dim nr As DataRow = DataTables("A").AddNew()
        \'For Each dc As DataCol In dt.DataCols
            nr("入厂时间") = dr("入厂时间")
        \'Next
    ‘End If
Next
[此贴子已经被作者于2014-7-13 10:44:26编辑过]

--  作者:y2287958
--  发布时间:2014/7/12 19:37:00
--  
用filler
--  作者:yyzlxc
--  发布时间:2014/7/12 19:58:00
--  
谢谢y2287958老师的回复,不过不是增加数据行,只是将B表的“入厂时间”数据,填充到A表的“编号”对应行,而且B表为外部表,没有加载。
--  作者:y2287958
--  发布时间:2014/7/12 20:23:00
--  
上个例子吧
--  作者:yyzlxc
--  发布时间:2014/7/13 9:07:00
--  
上案例,要求在“生成C表”按钮代码中增加一段代码,将后台B表中的入厂日期,按编号填充到C表中,请各位老师指教,谢谢。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ww.rar



--  作者:有点甜
--  发布时间:2014/7/13 9:28:00
--  

 回复楼主,直接用 inner  join 即可

 

http://www.foxtable.com/help/topics/2473.htm

 


--  作者:yyzlxc
--  发布时间:2014/7/13 10:44:00
--  
谢谢甜老师的指教,现用SQLJoinTableBuilder实现所需效果,再次感谢甜老师的帮助。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ww.rar

按钮代码如下:

Dim jb As New SQLJoinTableBuilder("查询表","A")
jb.C \'数据源
jb.AddTable("A","编号","B","编号)
jb.AddCols("编号", "姓名", "入厂日期")
jb.Build()
MainTable = Tables("查询表")

[此贴子已经被作者于2014-7-13 11:02:00编辑过]