水晶报表相关

1。水晶报表在。NET中打包

原理:
用 Microsoft Installer (MSI)在您的安装包中包括的合并模块 (MSM) 分发。
MSI 合并模块(MSM)可在“C:/Program Files/Common Files/Merge Modules”目录中找到。
合并模块(MSM)分为三类:托管组件、数据库访问和密钥号码。
托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间。对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的 Crystal版本。

 

具体操作步骤:
1)新建“安装和部署项目”-->“安装向导”
2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)-->下一步
3)选择要包含的文件:添加你的程序文件 + C:/Program Files/Common Files/Merge Modules下的managed.msm、managed_chs.msm、database_access.msm、database_access_chs.msm、regwiz.msm、VC_CRT.msm、VC_STL.msm。-->完成

具体功能如下:
managed.msm、managed_chs.msm、(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
database_access.msm、database_access_chs.msm、(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。)
regwiz.msm、(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装)
VC_CRT.msm、VC_STL.msm(这个在msdn上绝对没提起,是vc的运行库,估计是Crystal Report或涉及到的某些程序是用vc写的,所以需要它!)

选择要包含的文件:添加你的程序文件 + C:/Program Files/Common Files/Merge Modules下的managed.msm、managed_chs.msm、database_access.msm、database_access_chs.msm、regwiz.msm、VC_CRT.msm、VC_STL.msm。-->完成
这里的添加是在“解决方案资源管理器”里,安装项目,弹右键,选“合并模块”,来添加。


4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)

5)生成解决方案(或直接按Ctrl+Shift+B)


已经解决了!原来要使用如下方法,看到许多人在提这问题,贴于下面 :


----------------------------------
解决方案一:
报表数据访问使用推模型

需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。
----------------------------------
解决方案二:
记录选定公式运行时自定义

1、通过查看器控件传递选定公式
[Visual Basic]
Dim SelectFormula As String
SelectFormula = "{客户.去年销售额} > " & textBox1().Text
crystalReportViewer1.SelectionFormula = SelectFormula
[C#]
string selectFormula;
selectFormula = "{客户.去年销售额} > " + textBox1.Text;
crystalReportViewer1.SelectionFormula = selectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{客户.去年销售额} > ", textBox1->Text);
crystalReportViewer1->SelectionFormula = selectFormula;

2、通过报表对象传递选定公式
[Visual Basic]
Dim selectFormula As String
selectFormula = "{客户.去年销售额} > " & textBox1().Text
Report.DataDefinition.RecordSelectionFormula = selectFormula
[C#]
string selectFormula;
selectFormula = "{客户.去年销售额} > " + textBox1.Text;
Report.DataDefinition.RecordSelectionFormula = SelectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{客户.去年销售额} > ", textBox1->Text);
Report->DataDefinition->RecordSelectionFormula = selectFormula;

3、刷新相应的报表,方法是使用以下代码行结束这段代码:
CrystalReportViewer1.RefreshReport()
该公式得以更新,将使用新的最小值(上年度的销售额)。
----------------------------------
解决方案三:
将参数合并到记录选定公式

参数字段不必放入报表中即可在记录或组选定公式中使用。创建参数字段,然后像插入其他字段那样将其输入到公式中。

用公式进行记录选定
若要减少从数据库服务器传输的数据量并改善性能,请将参数字段直接合并到记录选定公式中。
下面的记录选定公式提请用户输入销售配额,并只显示去年销售额超过销售配额的所有客户。
{客户.去年销售额} > {?SalesQuota}

需要开发人员编写代码在运行时传递参数值……

2。数字转化成货币汉字

Function GetChinaNum(OrgNum As Double, Optional IsMoney As Integer, Optional dotNum As Integer) As String
    '参数OrgNum: 为数字
    '参数IsMoney: 为是不是返回人民币大写(1返回)
    '参数dotNum: 为设置小数点后面的位数,默认为0,最大为8位
    Dim OrgNum As Double
    OrgNum = 123.45
    Dim IsMoney As Integer
    IsMoney = 1
    Dim dotNum As Integer
    dotNum = 2
    Dim GetChinaNum As String
    Dim NumDigit(1) As String, NumChar(1) As String
    Dim AfterDotNum As String, NewNum As Double, StrNum As String
    Dim RepPostNum As Variant, i As Integer, RepNum(1)
    Dim MoenyNum As Variant, DotSite As Integer
    NumDigit(0) = "0千0百0十0亿0千0百0十0万0千0百0十0"
    NumDigit(1) = "0仟0佰0拾0亿0仟0佰0拾0万0仟0佰0拾0元0角0分"
    NumChar(0) = "零一二三四五六七八九十"
    NumChar(1) = "零壹贰叁肆伍陆柒捌玖拾"
    RepNum(0) = Array("零十", "零百", "零千", "零零", "零零")
    RepNum(1) = Array("零拾", "零佰", "零仟", "零角", "零零", "零零")
    RepPostNum = Array("零万", "零亿", "零元")
    If dotNum > 8 Then dotNum = 8
        OrgNum = FormatNumber(OrgNum, dotNum, , , vbFalse)
        If IsMoney Then
            NewNum = Replace(Format(OrgNum, "############.00"), ".", "")
        Else
        NewNum = Int(OrgNum)
    End If
    StrNum = Format(NewNum, Right(NumDigit(IsMoney), 2 * Len(Trim(NewNum)) - 1 + IsMoney))
    For i = 0 To 10
        StrNum = Replace(StrNum, i, Mid(NumChar(IsMoney), i + 1, 1))
    Next i
    For i = 0 To UBound(RepNum(IsMoney))
        StrNum = Replace(StrNum, RepNum(IsMoney)(i), Left(RepNum(IsMoney)(i), 1))
    Next i
    For i = 0 To 1 + IsMoney
        StrNum = Replace(StrNum, RepPostNum(i), Right(RepPostNum(i), 1))
    Next i
    If OrgNum < 20 * (1 + IsMoney * 99) Then
        If IsMoney Then
            StrNum = Replace(StrNum, "壹拾", "拾")
        Else
            StrNum = Replace(StrNum, "一十", "十")
        End If
    End If
    If dotNum <> 0 Then
        DotSite = InStr(1, OrgNum, ".")
        If DotSite > 0 And DotSite + IsMoney * 2 + 1 <= Len(OrgNum) Then
            AfterDotNum = Mid(OrgNum, DotSite + IsMoney * 2 + 1, dotNum)
            For i = 0 To 10
                AfterDotNum = Replace(AfterDotNum, i, Mid(NumChar(IsMoney), i + 1, 1))
            Next i
        End If
    End If
    If IsMoney Then
        GetChinaNum = StrNum & AfterDotNum & "整"
        If dotNum <= 2 Then
            GetChinaNum = Replace(GetChinaNum, "零分", "")
        End If
    Else
        GetChinaNum = StrNum & "点" & AfterDotNum
        If OrgNum > 0 Then
            GetChinaNum = Replace(GetChinaNum, "零点", "点")
        End If
    End If
    Erase NumDigit
    Erase NumChar
    Erase RepNum
End Function

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

======================================================= == 如果喜欢英文文档的朋友 == Crystal-Reports-2008-For-Dummies.pdf == == 链接: == http://download.csdn.net/download/a6566232/4627865 ======================================================= Crystal Reports 2008 用户指南 Crystal Reports 2008 Windows 2.1 介绍.....................................................31 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 利用 Flash、Flex 和 Xcelsius 实现的高级信息可视化...32 改善的最终用户报表查看体验..........................33 增强的报表设计器功能................................33 新增的灵活部署选项..................................34 灵活的应用程序集成..................................35 2.2 不同之处.................................................35 第 3 章安装 Crystal Reports 2008 37 3.1 安装概述.................................................37 3.2 安装 Crystal Reports 2008................................37 3.3 安装要求.................................................38 3.4 在本地计算机上安装 Crystal Reports.......................38 3.4.1 在本地计算机上安装...................................39 3.5 创建安装点并从网络服务器进行安装.........................45 3.5.1 创建 Crystal Reports 的安装点........................46 4 Crystal Reports 2008 用户指南 3.5.2 从网络安装 Crystal Reports...........................46 3.6 自定义安装...............................................52 3.7 运行无提示安装...........................................54 3.8 设置自定义横幅...........................................59 3.9 升级 Crystal Reports 组件................................60 第 4 章快速开始61 4.1 了解如何使用 Crystal Reports.............................61 4.1.1 示例数据 -- Xtreme.mdb...............................61 4.2 报表创建向导.............................................62 4.2.1 标准.................................................62 4.2.2 交叉表...............................................62 4.2.3 邮件标签.............................................62 4.2.4 OLAP.................................................63 4.3 新用户快速入门...........................................63 4.3.1 开始之前.............................................63 4.3.2 创建报表.............................................64 4.3.3 记录选择.............................................75 4.3.4 分组及排序...........................................79 4.3.5 完成报表.............................................82 4.4 高级用户快速开始.........................................83 4.4.1 选择报表类型及数据源.................................83 4.4.2 在“设计”选项卡上处理报表元素.......................84 4.4.3 使用其他报表功能.....................................86 第 5 章报表设计概念88 5.1 基本报表设计.............................................88 目录5 5.2 决定报表内容.............................................88 5.2.1 说明目的.............................................88 5.2.2 确定报表布局 ........................................89 5.2.3 查找数据.............................................90 5.2.4 操作数据.............................................91 5.2.5 确定打印区域特性.....................................92 5.3 设计纸张原型.............................................94 5.3.1 设计纸张原型.........................................94 第 6 章报表创建基础95 6.1 报表创建选项.............................................95 6.1.1 报表创建向导.........................................95 6.1.2 另一个报表...........................................95 6.1.3 新建报表.............................................96 6.1.4 报表创建向导.........................................96 6.1.5 另一个报表...........................................96 6.1.6 新建报表.............................................96 6.2 选择数据源和数据库字段...................................97 6.2.1 数据库专家...........................................97 6.2.2 字段资源管理器.......................................99 6.3 关于报表设计环境........................................101 6.3.1 “设计”选项卡......................................101 6.3.2 “预览”选项卡......................................105 6.3.3 HTML 预览选项卡.....................................109 6.4 创建新报表..............................................110 6.4.1 选择数据源..........................................110 6.4.2 添加表..............................................111 . . . .
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值