以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]将【开piao明细2023.xlsm】中数据合并到项目中报错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=188949)

--  作者:wyz20130512
--  发布时间:2023/11/1 23:42:00
--  [求助]将【开piao明细2023.xlsm】中数据合并到项目中报错
图片点击可在新窗口打开查看
[此贴子已经被作者于2023/11/1 23:42:40编辑过]

--  作者:wyz20130512
--  发布时间:2023/11/1 23:47:00
--  
Case "SuperaddDatas"
        Dim mg As New Merger
\'        MessageBox.Show()
        mg.SourcePath = ProjectPath & "开票明细2023.xlsm"
        mg.Format = "Excel2007" \'指定格式
        mg.SourceTableName = "开票明细$" \'
        mg.Fields = "发票号码,账单编号,发票种类,购方名称,开票日期,金额,税额,服务名称"
        
        Dim fphm As WinForm.TextBox = e.Form.Controls("txt_FPHM")
        
        \'如果文本框为空就按【账单编号】合并,反之就按【发票号码】合并
        If fphm.Value = "" Then
            mg.Filter = "账单编号 = \'" & Tables("tblEarning_Cash").Current("账单编号") & "\'"
        Else          
            fphm.Value = Functions.Execute("FormatStrings", fphm.Value)
            mg.Filter = "发票号码 In (" & fphm.Value & ")"
        End If

        mg.DataTableName = "tblInvoiceDetails_Cash" \'指定接收数据的表
        mg.Merge() \'开始合并

--  作者:wyz20130512
--  发布时间:2023/11/1 23:53:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:合并.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2023/11/2 9:12:00
--  
另存为xlsx文件在导入
--  作者:wyz20130512
--  发布时间:2023/11/2 9:38:00
--  
将mg.Format = "Excel2007"改为“Excel”后,合并正常了,可仅合并了1条记录,
测试数据为3条记录,不知何故?
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看
上图是: MessageBox.Show(mg.Filter)
[此贴子已经被作者于2023/11/2 9:43:12编辑过]

--  作者:wyz20130512
--  发布时间:2023/11/2 10:04:00
--  
请老师指点!
--  作者:wyz20130512
--  发布时间:2023/11/2 10:29:00
--  
请老师指点!

--  作者:有点蓝
--  发布时间:2023/11/2 10:30:00
--  
很明显截图的有换行的,也就是获取的数据里有回车换行符,要去掉

mg.Filter = "fa piao号码 In (" & fphm.Value.replace(vbcr,"").replace(vblf,"")  & ")"

--  作者:wyz20130512
--  发布时间:2023/11/2 10:42:00
--  
图片点击可在新窗口打开查看
--  作者:wyz20130512
--  发布时间:2023/11/2 10:43:00
--  
问题依旧,这是命令行测试。
[此贴子已经被作者于2023/11/2 10:43:15编辑过]