以文本方式查看主题 - 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表中,请各位老师指教,谢谢。 |
||||
-- 作者:有点甜 -- 发布时间:2014/7/13 9:28:00 -- 回复楼主,直接用 inner join 即可
http://www.foxtable.com/help/topics/2473.htm
|
||||
-- 作者:yyzlxc -- 发布时间:2014/7/13 10:44:00 -- 谢谢甜老师的指教,现用SQLJoinTableBuilder实现所需效果,再次感谢甜老师的帮助。
按钮代码如下: Dim jb As New SQLJoinTableBuilder("查询表","A") jb.C \'数据源 jb.AddTable("A","编号","B","编号) jb.AddCols("编号", "姓名", "入厂日期") jb.Build() MainTable = Tables("查询表") [此贴子已经被作者于2014-7-13 11:02:00编辑过]
|