找回密码
 立即注册

QQ登录

只需一步,快速开始

zjyfuhuo

注册会员

12

主题

17

帖子

194

积分

注册会员

积分
194

微信认证勋章

[已处理] 矩表问题

zjyfuhuo
注册会员   /  发表于:2018-5-23 14:28  /   查看:3289  /  回复:3
本帖最后由 Lenka.Guo 于 2018-5-23 15:28 编辑

1、在VB.net中点击按钮,如何能把参数传递给ActiveReports
2、数据体为
地质设计 B1-3-13 注水井 调整 2017/11/15 12:13:28
地质设计 L1-3210 采油井 压裂 2018/3/12 8:40:25
地质设计 L10-0830 采油井 压裂 2018/3/12 8:49:38
地质设计 L10-101 注水井 调整 2017/11/2 7:57:27
地质设计 L10-1030 采油井 压裂 2018/2/5 15:20:24
地质设计 L10-1030 采油井 压裂 2018/3/26 16:06:44
地质设计 L10-1402 注水井 调整 2018/4/25 18:12:41
地质设计 L10-1455 采油井 普通大修 2018/5/11 16:26:22
地质设计 L10-1512 采油井 压裂 2018/3/12 8:49:22
地质设计 L10-1566 采油井 封堵 2018/4/27 15:30:04
地质设计 L10-1602 注水井 调整 2018/4/28 9:59:51
地质设计 L10-162 注水井 调整 2017/10/27 12:13:03


怎么样能根据日期参数 求出该日期当前旬度,当前月度,当前年的该措施类型的井数
实现的报表为

  
井别
  
  
措施类型
  
  
地质方案
  
  
本旬
  
  
本月
  
  
累计
  
  
采油井
  
  
压裂
  
  
  
  
  
  
  
  
补孔
  
  
  
  
  
  
  
  
长关井
  
  
  
  
  
  
  
  
换大泵
  
  
  
  
  
  
  
  
封堵
  
  
  
  
  
  
  
  
堵水
  
  
  
  
  
  
  
  
大修
  
  
  
  
  
  
  
  
小计
  
  
  
  
  
  
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-5-23 15:26:57
沙发
本帖最后由 Lenka.Guo 于 2018-5-23 15:28 编辑

1. 在VB.net中点击按钮,如何能把参数传递给ActiveReports>>1.  先在 报表中添加 参数,并设置为隐藏。
2. 将参数用在报表展示或者用于 DataSet 过滤。

3. 在按钮的onClick 事件中, 添加以下代码:
  1. Dim file_name As String = "..\..\PageReport1.rdlx"
  2. Dim pageReport As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(file_name))
  3. pageReport.Report.ReportParameters[0].Defaultvalues.values.Add("")  (C# 写法,注意修改为 VB)
复制代码


2. 报表设计问题


通过您提供的设计截图,设置字段绑定没有问题,不是很了解您说的当前旬度,当前月度,当前年的该措施类型的井数,分别指的是什么,是通过什么字段计算出来的?

回复 使用道具 举报
zjyfuhuo
注册会员   /  发表于:2018-5-23 15:43:33
板凳

根据给出的日期参数,比如2018年5月10日,根据数据体中那列日期列判断,2018年5月上旬,5月份,2018年分别有多少井。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-5-23 16:29:29
地板
判断日期上下旬,您可以在文本框中使用表达式,利用日期函数获取月份及日期,并判断是否为上旬或下旬:=Month(Now())&"月"&IIF(Day(Now())<15,"上旬","下旬")



获取月份,使用函数= =Month (时间) &“月份”





2018年分别有多少井:

那就是合计年份为2018 的个数? 如果是这样建议使用聚合函数  AggregateIf 函数。
=AggregateIf(Year(日期)=2018, Sum, 字段)


如果又复杂运算,主要是通过编写表达式或脚本来实现,如果您有类似的问题,可参考上述,在表达式中寻找合适的VB函数来使用:http://help.grapecity.com.cn/pages/viewpage.action?pageId=8290825
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部