Foxtable(狐表)用户栏目专家坐堂 → 指定


  共有3214人关注过本帖树形打印复制链接

主题:指定

帅哥哟,离线,有人找我吗?
yetle
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
指定  发帖心情 Post By: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()

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2020/7/17 9:54:00 [只看该作者]

不是要取最后一行,是要取当前行,鼠标选中的行

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/17 10:11:00 [只看该作者]

那么代码没有问题。注意副本选择的行,和主表选择的行是可以不同的

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2020/7/17 10:49:00 [只看该作者]

主表和副表都选择了,可是还是取的表第一行的数据??怎么回事???

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/17 11:00:00 [只看该作者]

请上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2020/7/17 11:17:00 [只看该作者]

MessageBox.show(Tables("下采购订单_table1").Position)
MessageBox.show(dr("全称"))
我用调试的方法获取到的都是指定到的当前行的数据,检查是报表写错了


[此贴子已经被作者于2020/7/17 11:23:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/17 11:24:00 [只看该作者]

去掉报表里面的表达式

Sheet(3,9).Value = "供应商名称:" & dr("全称")

 回到顶部