[此贴子已经被作者于2023/11/1 23:42:40编辑过]
Case "SuperaddDatas"
Dim mg As New Merger
' MessageBox.Show()
mg.SourcePath = ProjectPath & "开piao明细2023.xlsm"
mg.Format = "Excel2007" '指定格式
mg.SourceTableName = "开piao明细$" '
mg.Fields = "fa piao号码,账单编号,fa piao种类,购方名称,开piao日期,金额,税额,服务名称"
Dim fphm As WinForm.TextBox = e.Form.Controls("txt_FPHM")
'如果文本框为空就按【账单编号】合并,反之就按【fa piao号码】合并
If fphm.Value = "" Then
mg.Filter = "账单编号 = '" & Tables("tblEarning_Cash").Current("账单编号") & "'"
Else
fphm.Value = Functions.Execute("FormatStrings", fphm.Value)
mg.Filter = "fa piao号码 In (" & fphm.Value & ")"
End If
mg.DataTableName = "tblInvoiceDetails_Cash" '指定接收数据的表
mg.Merge() '开始合并
将mg.Format = "Excel2007"改为“Excel”后,合并正常了,可仅合并了1条记录,
测试数据为3条记录,不知何故?
上图是: MessageBox.Show(mg.Filter)
[此贴子已经被作者于2023/11/2 9:43:12编辑过]
很明显截图的有换行的,也就是获取的数据里有回车换行符,要去掉
mg.Filter = "fa piao号码 In (" & fphm.Value.replace(vbcr,"").replace(vblf,"") & ")"
问题依旧,这是命令行测试。
[此贴子已经被作者于2023/11/2 10:43:15编辑过]