以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  打印报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=143138)

--  作者:yetle
--  发布时间:2019/11/14 15:53:00
--  打印报表
打印按钮代码如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\\下采购订单大料.xls") \'打开模板
 Dim fl As String = ProjectPath & "Reports\\下采购订单大料.xls"
\'  Dim Sheet As XLS.Sheet = Book.Sheets(0)
\'  Sheet(3,9).Value = "<日期= # " & Date.Today & "#>"  \'写入打印条件

book.AddDataTable("采购明细表","XSC_ERP","Select * f rom {采购明细表} where 采购单号= \'" & Tables("下采购订单_table2").current("采购单号") & "\'") \'添加父表
book.AddDataTable("供应商","XSC_ERP","Select * f rom {供应商} where 供应商代码= \'" & Tables("下采购订单_table1").current("供应商代码") & "\'") \'添加父表

 Book.Build() \'生成报表
 Book.Save(fl) 
Dim Proc As New Process 
Proc.File = fl
 Proc.Start()

提示:子细节区必须嵌套在父表细节区内,难道不是关联表,不是父表和子表关系,就不能引用了吗
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:下采购订单大料.xls


--  作者:有点蓝
--  发布时间:2019/11/14 15:59:00
--  
模板里去掉“<供应商,1>、<供应商>”这2个地方


<"供应商名称:"&[供应商简称]> 改为:<"供应商名称:"&[@供应商,供应商简称]>

--  作者:yetle
--  发布时间:2019/11/14 16:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:下采购订单大料.xls

没有查出数据呢
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20191114163823.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/11/14 16:51:00
--  
那么建议还是直接使用find查询出供应商数据,然后使用代码赋值好了,类似

Sheet(3,9).Value = dr(“供应商简称”)

--  作者:yetle
--  发布时间:2019/11/14 17:01:00
--  
代码能不能写全一点,不会用呢
--  作者:有点蓝
--  发布时间:2019/11/14 17:34:00
--  
dim dr as datarow = DataTables("供应商").find("供应商代码= \'" & Tables("下采购订单_table1").current("供应商代码") & "\'")
Sheet(供应商简称单元格行号,供应商简称单元格列号).Value = dr(“供应商简称”)

--  作者:yetle
--  发布时间:2019/11/14 17:58:00
--  
这个代码是写在哪呢
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20191114180145.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/11/14 18:02:46编辑过]

--  作者:有点蓝
--  发布时间:2019/11/15 8:43:00
--  
就这个位置,第三行代码不要注释
--  作者:yetle
--  发布时间:2019/11/15 9:19:00
--  
Conversion from string "J" to type \'Integer\' is not valid.

或者把J写成9,如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\\下采购订单大料.xls") \'打开模板
 Dim fl As String = ProjectPath & "Reports\\下采购订单大料.xls"
  Dim Sheet As XLS.Sheet = Book.Sheets(0)
\'  Sheet(3,9).Value = "<日期= # " & Date.Today & "#>"  \'写入打印条件

book.AddDataTable("采购明细表","XSC_ERP","Select * f rom {采购明细表} where 采购单号= \'" & Tables("下采购订单_table2").current("采购单号") & "\'") \'添加父表
book.AddDataTable("供应商","XSC_ERP","Select * f rom {供应商} where 供应商简称= \'" & Tables("下采购订单_table1").current("供应商名称") & "\'") \'添加父表



Dim dr As DataRow = DataTables("供应商").sqlfind("供应商代码= \'" & Tables("下采购订单_table1").current("供应商代码") & "\'")
Sheet(3,9).Value = dr("供应商简称")

 Book.Build() \'生成报表
 Book.Save(fl) 
Dim Proc As New Process 
Proc.File = fl
 Proc.Start()

报表不显示数据呢
[此贴子已经被作者于2019/11/15 9:25:35编辑过]

--  作者:有点蓝
--  发布时间:2019/11/15 9:24:00
--  
没有J这个变量,自己数数供应商简称单元格在哪行哪列

Sheet(供应商简称单元格行号,供应商简称单元格列号).Value = dr(“供应商简称”)