以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 指定 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152639) |
-- 作者:yetle -- 发布时间:2020/7/17 9:24:00 -- 指定 标颜色这段代码,为什么Tables("下采购订单_table2")当前行已经指定在最后一行了,却获取到的是表的第一行的数据。 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("下采购订单_table1").current("采购单号") & "\'") If Forms("下采购订单").opened Dim dr As DataRow = DataTables("供应商").sqlfind("供应商简称= \'" & Tables("下采购订单_table2").current("供应商属性_供应商名称") & "\' and 供应商代码= \'" & Tables("下采购订单_table2").current("供应商属性_供应商代码") & "\'") Dim dr1 As DataRow = DataTables("采购订单主表").sqlfind("采购单号= \'" & Tables("下采购订单_table1").current("采购单号") & "\'") Sheet(3,10).Value = dr("全称") Sheet(4,10).Value = dr("地址") Sheet(5,10).Value = dr("联系人") Sheet(6,10).Value = dr("联系手机") Sheet(6,14).Value = dr("传真") Sheet(1,15).Value = dr1("采购单号") Sheet(49,2).Value = dr1("下单期") End If Book.Build() \'生成报表 Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start()
|
-- 作者:有点蓝 -- 发布时间:2020/7/17 9:41:00 -- 当前行随时可能会因为其它代码而改变, msgbox(Tables("下采购订单_table2").current("供应商属性_供应商名称")) 如果要取最后一行 dim r as row = Tables("下采购订单_table2").rows(Tables("下采购订单_table2").rows.count - 1) msgbox(r("供应商属性_供应商名称")) |
-- 作者:yetle -- 发布时间:2020/7/17 9:54:00 -- 不是要取最后一行,是要取当前行,鼠标选中的行 |
-- 作者:有点蓝 -- 发布时间:2020/7/17 10:11:00 -- 那么代码没有问题。注意副本选择的行,和主表选择的行是可以不同的 |
-- 作者:yetle -- 发布时间:2020/7/17 10:49:00 -- 主表和副表都选择了,可是还是取的表第一行的数据??怎么回事??? |
-- 作者:有点蓝 -- 发布时间:2020/7/17 11:00:00 -- 请上传实例说明 |
-- 作者:yetle -- 发布时间:2020/7/17 11:17:00 -- MessageBox.show(Tables("下采购订单_table1").Position) MessageBox.show(dr("全称")) 我用调试的方法获取到的都是指定到的当前行的数据,检查是报表写错了 [此贴子已经被作者于2020/7/17 11:23:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/7/17 11:24:00 -- 去掉报表里面的表达式 Sheet(3,9).Value = "供应商名称:" & dr("全称")
|