以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]结构不同表数据合并问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11376) |
||||
-- 作者:xl -- 发布时间:2011/7/20 9:22:00 -- [求助]结构不同表数据合并问题 在帮助中有一段数据合并代码,试做了一个始终不能成功,请各位老师帮看一下,问题出在哪里?该怎样修改?谢谢! Dim cmd As New SQLCommand
注:目的是将桌面的SpiderResult.mdb文件中的表content中的内容导入到当前FOXTABLE文件的content中,两个文件中表结构不同。
[此贴子已经被作者于2011-7-20 9:25:49编辑过]
|
||||
-- 作者:czy -- 发布时间:2011/7/20 9:37:00 -- http://www.foxtable.net/help/topics/0685.htm
Dim mg As New Merger |
||||
-- 作者:xl -- 发布时间:2011/7/20 9:44:00 -- 谢谢C老师,像这种情况能否举一个例子,其中最令人困惑的地方是数据源名称和access2003文件中的表,下列文件好像是针对EXCEL文件的,同时好像也不能指明数据源的路径?
Dim cmd As New SQLCommand [此贴子已经被作者于2011-7-20 9:46:28编辑过]
|
||||
-- 作者:xl -- 发布时间:2011/7/20 10:00:00 -- 3楼问题只有看贺老师了???增加类似设计 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/20 10:14:00 -- 我测试2楼c版的代码就能够直接执行了啊。 记得将列“标题1”的长度设置长一些,否则会报错。 |
||||
-- 作者:xl -- 发布时间:2011/7/20 10:18:00 -- 2楼C版没有问题!是学习“自行编码合并外部数据”时,想试试更灵活的合并方式,呵呵 自行编码合并外部数据 我们知道,用Merger可以合并外部数据到表中,不过Merger没有排除重复内容的选项,有时不能满足我们的要求。 例如项目中有一个员工表,要从一个外部文件中合并数据到这个员工表中,希望在合并过程中检查身份证号码,如果员工表已经存在相同身份证号码的行,则跳过此行。 Dim cmd As New SQLCommandDim dt As DataTable cmd.ConnectionName = "数据源名称" cmd.CommandText = "SELECT * From {员工}" dt = cmd.ExecuteReader() For Each dr As DataRow In dt.DataRows If DataTables("员工").Find("身份证号码 = \'" & dr("身份证号码") & "\'") Is Nothing Then Dim nr As DataRow = DataTables("员工").AddNew() For Each dc As DataCol In dt.DataCols nr(dc.name) = dr(dc.name) Next End If Next 可见要自己设计一个功能更强的Merger,其实是件很简单的事情。 如果两个表的结构不同,可以参考下面的代码: Dim cmd As New SQLCommandDim dt As DataTable Dim sCols() As String = {"列名1", "列名2", "列名3"} Dim dCols() As String = {"列名A", "列名B", "列名C"} cmd.ConnectionName = "数据源名称" cmd.CommandText = "SELECT * From {员工}" dt = cmd.ExecuteReader() For Each dr As DataRow In dt.DataRows Dim nr As DataRow = DataTables("员工").AddNew() For i As Integer =0 To sCols.Length -1 nr(dCols(i)) = dr(sCols(i)) Next Next |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/20 10:24:00 -- 动态创建数据源: http://www.foxtable.net/help/topics/1944.htm
|
||||
-- 作者:xl -- 发布时间:2011/7/20 10:43:00 -- 有明白WORD VBA的吗,帮忙看看为啥总报错 哦,明白。这种方式感觉对多数据源的情况不是很方便,相比之下C版2楼方式方便很多!谢谢两位老师! |
||||
-- 作者:xl -- 发布时间:2011/7/20 11:05:00 -- 不过仍建议贺老师6楼相关多一种设计:能够指定文件名称和路径,不一定用外部数据源方式-----------因为这是最灵活的合并方式。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/20 11:26:00 -- 其实二楼很灵活啊 |