以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数据合并怎么无效? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=6431) |
||||
-- 作者:floor2 -- 发布时间:2010/4/2 14:01:00 -- 数据合并怎么无效? 控件代码如下 Dim mg As New Merger mg.SourcePath = "d:\\fahuo\\" \'指定数据文件所在目录 mg.Format = "Delimited" \'指定格式 mg.SourceTableName = "data" \'指定要合并的文件,无需扩展名 mg.DataTableName = "发货清单明细" \'指定接收数据的表 \'mg.FieldMaps.Add("条形码","条形码") \'将指定ID列的数据合并到编号列中 mg.Merge() \'开始合并 点击控件后,只是增加空行,没有数据 用手工合并可以的。
开发者 密码 :admin 在发货清单明细表 的窗口 [此贴子已经被作者于2010-4-2 14:22:30编辑过]
|
||||
-- 作者:czy -- 发布时间:2010/4/2 15:17:00 -- 将data.xlsx文件发上来 |
||||
-- 作者:czy -- 发布时间:2010/4/2 15:19:00 -- 测试没有任何问题。 |
||||
-- 作者:floor2 -- 发布时间:2010/4/2 16:00:00 -- 事情比较复杂,本来是把文件写到data.txt,然后把这个文件(data.txt)合并到 发货清单明细表里,看一楼的代码,试了很多次都不行,就想换一个格式看能不能合并,把data.txt的格式换成xlsx,上传的就是这样的格式,但发现 写入公式writealltext只能是向文本文件写入,换成xlsx格式的路不行,所以还得是data.txt进行合并 但是用data.txt格式进行合并,只增加了空行,没有数据合并。麻烦高手把一楼代码拷到控件里 测试下,是什么原因,谢谢。 |
||||
-- 作者:czy -- 发布时间:2010/4/2 16:16:00 -- 这或许是老六的问题吧。 个人感觉,如果合并文本文件应该有指定分隔符的参数才对。 老六来看下。 |
||||
-- 作者:贺老六 -- 发布时间:2010/4/2 16:21:00 -- 是盖茨的问题,收藏此帖,以后看看能不能改进。 |
||||
-- 作者:floor2 -- 发布时间:2010/4/2 16:42:00 -- 一桶冷水, 不是有 mg.Format = "Delimited" 格式指定吗?手动也还是可以合并的啊! 有没有其他的办法,把文本文件的内容写入到表的某列里? [此贴子已经被作者于2010-4-2 17:05:21编辑过]
|
||||
-- 作者:floor2 -- 发布时间:2010/4/2 22:24:00 -- 狐爸改帮助吧 在一楼的代码里加入 mg.header=true 这样就可以合并了,帮助里都省略了 如果要多列合并的话,要把fieldmaps语句多写几次,一次一列 [此贴子已经被作者于2010-4-2 22:27:58编辑过]
|
||||
-- 作者:floor2 -- 发布时间:2010/4/3 17:04:00 -- 有些文本可以这样操作,有些文本不行,通过导入文本文件测试,会发现第1列的名称会自动改变,导致无法进行数据合并,第2列之后列名不会改变,可以合并。 现改变思路,先把文本文件导入到新表中,用cols(0)获取列名,然后用filler语句,不过指定数据来源列,不能用变量,狐爸有没有办法,或者可以对列名重命名。谢谢 dim n as string =tables("表d").cols(0).name messagebox.show(n) dim f As New Filler f.SourceTable = DataTables("表d") \'指定数据来源 f.SourceCols = "n" \'指定数据来源列 f.DataTable = DataTables("发货清单明细") \'指定数据接收表 f.DataCols = "第一列" \'指定数据接收列 f.Fill() \'填充数据 |