CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

200分跪救求:VB6与水晶报表的参数传递

楼主BillGaze(BillGaze)2005-09-15 15:12:54 在 VB / 基础类 提问

环境:VB6.0+CR10  
  我先用CR10做了一个报表,其中用到一个参数字段.现要求在VB6的开发环境上,用户在界面上从COMBO选择报表中可用的数据,报表根据这些条件选择适当的记录,现在我不想重新改变数据源,只需传递一个指定的参数问题即可解决,但不知如何去做.  
  另外还有一个问题是如何在combo中取得报表中的某些字段 问题点数:100、回复次数:8Top

1 楼jjun816()回复于 2005-09-15 16:17:12 得分 0

发了这么多贴,真有分:)关注中Top

2 楼youandme520(南瓜)回复于 2005-09-15 16:52:20 得分 0

我常用水晶报表9   不知道10   里面兼容不兼容  
  你可以在程序离设置记录集呀   记录集条件在程序中设定  
          Dim   rs   As   New   ADODB.Recordset  
          Dim   rs1   As   New   ADODB.Recordset  
          rs.Open   "select   *   from   t1   where   qybh='"   &   qybh   &   "'",   conn,   3,   1   '设定记录集  
          Dim   capp   As   New   CRAXDRT.Application  
          Dim   carp   As   New   CRAXDRT.Report  
          frmReport.Show  
          Set   carp   =   capp.OpenReport(App.Path   &   "\rpt\企业信息表.rpt")  
          carp.Database.SetDataSource   rs   '把记录集的内容显示在报表中  
          carp.reportTitle   =   frmCorpSearZH.strExp  
          frmReport.CRViewer91.ReportSource   =   carp  
          frmReport.CRViewer91.ViewReport  
   
  这是   水晶报表9的做法   可以不考虑数据源   但是   sql语句查询的表的结构   要和报表中连接的表结构相同Top

3 楼youandme520(南瓜)回复于 2005-09-15 16:55:22 得分 0

水晶报表中的公式字段可以在vb程序中读取到   并设置公式来动态显示你需要的信息  
   
  '*****  
  '*函数名:   setFormulaFields  
  '*函数功能:   控制水晶报表内公式字段的公式内容  
  '***********  
   
  Public   Function   SetFormulaFields(carp   As   CRAXDRT.Report,   FieldName,   formula   As   String)  
          Dim   i  
          With   carp  
          For   i   =   1   To   .FormulaFields.Count  
                  If   .FormulaFields(i).FormulaFieldName   =   FieldName   Then  
                          .FormulaFields(i).Text   =   formula  
                  End   If  
          Next   i  
          End   With  
  End   Function  
   
  这事公式字段在程序中的公式设定函数   是水晶报表9的    
  不知道10中能不能用    
  希望对你有帮助  
  Top

4 楼BillGaze(BillGaze)回复于 2005-09-15 17:10:28 得分 0

youandme520(南瓜),这位老兄先谢谢你了,我先试着看看,VB能直接访问公式字段确实具有一定的灵活性,问题也许能从这里间接得到解决Top

5 楼BillGaze(BillGaze)回复于 2005-09-15 17:33:43 得分 0

如果我想在程序中获取报表中某个字段的值,如按部门分类,我想获取各个部门名称,该怎么做呀Top

6 楼BillGaze(BillGaze)回复于 2005-09-15 17:41:55 得分 0

youandme520(南瓜)这位老兄,我刚这样做过,在理论上应该行的,不过所赋的值并未生效,是否要进行什么刷新吗,我在程序中这样用的行吗  
        Call   SetFormulaFields(oRpt,   "mtotalTime",   CStr(TotalTime))  
  Top

7 楼youandme520(南瓜)回复于 2005-09-15 20:02:00 得分 0

是水晶报表的公式格式问题    
  如果各是不正确   就不会用效果  
  如果直接要在公式字段现实内容   在   字符串中要加引号   可以这样写  
  Call   SetFormulaFields(oRpt,   "mtotalTime",   chr(13)   &   CStr(TotalTime)   &   chr(13))  
  chr(13)   是vb中专意的引号Top

8 楼youandme520(南瓜)回复于 2005-09-15 20:06:03 得分 0

抱歉错了呵呵    
  应该是   chr(34)  
  chr(13)   是回车  
   
  Private   Sub   Command1_Click()  
          Dim   capp   As   New   CRAXDRT.Application  
          Dim   carp   As   New   CRAXDRT.Report  
          Set   carp   =   capp.OpenReport(App.Path   &   "\report.rpt")  
          SetFormulaFields   carp,   "formula1",   Chr(34)   &   "要显示的信息"   &   Chr(34)  
          CRViewer91.ReportSource   =   carp  
          CRViewer91.ViewReport  
  End   Sub  
  Top

相关问题

  • :::水晶报表问题:如何在VB中将参数传递给水晶报表?
  • 如何使用水晶报表传递参数?
  • 怎样给水晶报表设置和传递参数?
  • 怎样向水晶报表传递参数亚?
  • 如何给水晶报表中传递一个参数
  • 水晶报表10的参数传递,大侠救命啊~!!!
  • vb中怎样把参数传给水晶报表
  • 水晶报表如何获取VB传递的值(用户交互式)
  • 如何将参数值传递到水晶报表的参数字段里显示?
  • 水晶报表6.0中怎么使用存储过程以及参数传递问题

关键词

  • vb6
  • 水晶报表
  • 报表
  • vb
  • 数据
  • carp
  • 参数
  • frmreport
  • 记录集
  • rs

得分解答快速导航

  • 帖主:BillGaze

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo