以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教合并数据Merger中合并字段Fields的格式问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191915)

--  作者:13315253800
--  发布时间:2024/5/15 15:01:00
--  请教合并数据Merger中合并字段Fields的格式问题

蓝老师我用下列代码合并excel文件,提示

mg.Fields("日期""客户", "数量", "单价", "产品")格式不对,

mg.Fields("日期,客户, 数量, 单价, 产品")也不行,

请蓝老师指点一下

Dim mg As New Merger

mg.SourcePath = "d:\\data\\销售管理.xls"

mg.Format = "excel" \'指定格式

mg.SourceTableName = "订单$" \'指定要合并的表

mg.DataTableName = "订单" \'指定接收数据的表

mg.Fields("日期""客户", "数量", "单价", "产品")

mg.Merge() \'开始合并


--  作者:有点蓝
--  发布时间:2024/5/15 15:27:00
--  
Fields是一个字符串属性,不是一个函数

mg.Fields = "日期,客户,数量,单价,产品"

--  作者:13315253800
--  发布时间:2024/5/15 15:59:00
--  
谢谢蓝老师!我再问一问题打开文件对话框方式,合并用户指定的文件代码如下
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter = "excel文件|*.xls" \'指定格式设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单$" \'指定要合并的表
    mg.DataTableName = "订单" \'指定接收数据的表
    mg.Merge() \'开始合并
End If
提示错误

详细错误信息:

不可识别的数据库格式 \'D:\\Data\\销售管理.xls\'

请蓝老师指导


--  作者:有点蓝
--  发布时间:2024/5/15 16:11:00
--  
mg.Format = "excel" \'指定格式
--  作者:13315253800
--  发布时间:2024/5/16 11:03:00
--  

蓝老师,如果“销售管理.xls”中用4个表页,分别为“订单”、“客户”、 “产品”、“价格”,我想用一个窗口按钮,实现一键合并4个表的数据,且每一个表都要指导合并的列名,请教老师如何修改代码



--  作者:13315253800
--  发布时间:2024/5/16 11:04:00
--  

Dim mg As New Merger

mg.SourcePath = "d:\\data\\销售管理.xls"

mg.Format = "excel"

mg.SourceTableName = "订单$" \'指定要合并的订单表

mg.DataTableName = "订单" \'指定接收数据的订单表

mg.Fields = "日期,客户,数量,单价,产品"\'指定接收订单表的部分列

mg.Merge() \'开始合并订单表

mg.SourceTableName = "客户$" \'指定要合并的客户表

mg.DataTableName = "客户" \'指定接收数据的客户表

mg.Fields = "日期,客户,客户ID "\'指定接收客户表的部分列

mg.Merge() \'开始合并客户表

......


--  作者:有点蓝
--  发布时间:2024/5/16 11:11:00
--  

Dim mg As New Merger

mg.SourcePath = "d:\\data\\销售管理.xls"

mg.Format = "excel"

mg.SourceTableName = "订单$" \'指定要合并的订单表

mg.DataTableName = "订单" \'指定接收数据的订单表

mg.Fields = "日期,客户,数量,单价,产品"\'指定接收订单表的部分列

mg.Merge() \'开始合并订单表

mg = New Merger

mg.SourceTableName = "客户$" \'指定要合并的客户表

mg.DataTableName = "客户" \'指定接收数据的客户表

mg.Fields = "日期,客户,客户ID "\'指定接收客户表的部分列

mg.Merge() \'开始合并客户表


--  作者:13315253800
--  发布时间:2024/5/16 11:40:00
--  
老师,提示如下错误
.NET Framework 版本:4.0.30319.36543
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,订单,Button7,Click
详细错误信息:
Object reference not set to an instance of an object.


--  作者:有点蓝
--  发布时间:2024/5/16 11:48:00
--  
完整代码?
--  作者:13315253800
--  发布时间:2024/5/16 14:45:00
--  
Dim mg As New Merger
mg.SourcePath = "d:\\data\\销售管理.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "订单$" \'指定要合并的表
mg.DataTableName = "订单" \'指定接收数据的表
mg.Fields = "日期,客户,数量,单价,产品"\'指定列
mg.Merge() \'开始合并
mg = New Merger
\'mg.Format = "excel" \'指定格式
mg.SourceTableName = "客户$" \'指定要合并的客户表
mg.DataTableName = "客户" \'指定接收数据的客户表
mg.Fields = "日期,客户,客户ID "\'指定接收客户表的部分列
mg.Merge() \'开始合并客户表
[此贴子已经被作者于2024/5/16 14:46:25编辑过]