以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Excel 报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=97696)

--  作者:zxjsd
--  发布时间:2017/3/16 23:01:00
--  [求助]Excel 报表

做了一个Excel报表,在用系统的报表菜单,能够生成,在另外一个系统中调用(同样的数据库),无法生成,缺少关联表吗?提示表名必需唯一。

 

Dim tmp_matable As String
If Relations.Contains("订单与明细") Then
    MessageBox.Show("Have")  \'调试
Else
    MessageBox.Show("No")
    Relations.Add("订单与明细",DataTables("订单").DataCols("询价ID"),DataTables("询价明细").DataCols("询价ID"),,"None")
End If
tmp_matable = MainTable.Name
MainTable=Tables("订单与明细")

Dim Book As New XLS.Book
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Book = New XLS.Book(dlg.FileName)  \'提示用户选择的文件
Else
    _PrintXlsNamed ="报价单.xls"
    Book = New XLS.Book(ProjectPath & "Attachments\\"& _PrintXlsNamed &"")
End If
\'
Dim ddds As String = "报价表" & Now.ToString("yyMMddHHmmss") & ".xls"

Dim fl As String = ProjectPath & "Reports\\"& ddds &""
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(2,2).Value = "制单人:" & "客户名称" \'修改模板,加入制单人信息

Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook =App.WorkBooks.Open(fl)
app.visible = True

Relations.Delete("订单与明细")
MainTable=Tables(tmp_matable)

 

运行,首先提示 “Have”,接着提示不存在 “订单与明细”的Table! ,弹出选择模板文件,出现【未找到列[ALL]】,

 

<End>
<订单> [客户名称] 老师 
报 价 表
致: [客户单位]
根据贵公司报价的要求,我公司的制作报价如下,请审定。
<HeaderRow> 序号 产品名称 型号 单位 数量 单价 合计
<询价明细> [采购ID] [物品名称] [规格型号] [单位] [数量] [报价] [数量]*[报价] <ALL>
<订单>       合计:      
山东乾宏科贸有限公司
2017-03-16
<End>


--  作者:zxjsd
--  发布时间:2017/3/16 23:03:00
--  
Relations.Add("订单与明细",DataTables("订单").DataCols("询价ID"),DataTables("询价明细").DataCols("询价ID"),,"None")
这一句,后面两个参数怎么设置,按照说明,输入None,或者"None",提示都不行啊。
--  作者:有点色
--  发布时间:2017/3/17 2:26:00
--  

1、有没有表【订单与明细】?

 

2、根据提示,逐个排查。做个实例上来测试下吧。