社区
图表区
帖子详情
vb.net如何调用水晶报表?
lingloveman
2010-05-25 08:35:36
各位大侠,本人是新手,现在用vb.net要做水晶报表的打印。环境是VS2005。
实在是不知道该如何入手。有没有哪位指点一下该怎么做呢?
...全文
413
16
打赏
收藏
vb.net如何调用水晶报表?
各位大侠,本人是新手,现在用vb.net要做水晶报表的打印。环境是VS2005。 实在是不知道该如何入手。有没有哪位指点一下该怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
阿双2009
2010-05-26
打赏
举报
回复
版本不一样?
lingloveman
2010-05-26
打赏
举报
回复
错误是:
未能加载文件或者程序集“CrystalDecisions.Windows.Forms,Version=10.2.3600.0,Culture = neutral,PublicKeyToken=692fbea5512e1304”或者它的某一个依赖项。系统找不到指定的文件。
出错的那台电脑上已经有安装水晶报表这个软件的。这是怎么回事??
lingloveman
2010-05-25
打赏
举报
回复
我在自己电脑上做的vb.net + 水晶报表可以运行,然后我把可执行文件拷贝到别的电脑上就不行了。这应该怎么办呢???
lingloveman
2010-05-25
打赏
举报
回复
如果用参数传递好像每次都要跳出登陆框让填数据库密码的,
然后为什么可执行文件拷贝到别的电脑上就不行了,应该如何部暑呢???我一直没部暑成功过
阿双2009
2010-05-25
打赏
举报
回复
参考
信手拈来,掌控对象
lingloveman
2010-05-25
打赏
举报
回复
终于搞定了一个最简单的报表了,是在程序里面指定数据,但是如果我想传参数过去的话应该是怎么做的呢??然后可执行文件拷贝到别的电脑上就不行了,应该如何部暑呢???我一直没部暑成功过。
tashiwoweiyi
2010-05-25
打赏
举报
回复
学习,帮顶。
lingloveman
2010-05-25
打赏
举报
回复
看过阿泰的那个视频了,是C#做asp.net的,看了不是很明白,
我现在就只是想在vb.net的窗体中,通过按一个按钮,传参数来调用水晶报表,这个应该怎么做呢?
阿双2009
2010-05-25
打赏
举报
回复
[Quote=引用 4 楼 lingloveman 的回复:]
VS2005自带就有crystal report了吧??能不能用VS2005给个详细的步骤?不好意思我是新手,什么也不懂。
[/Quote]
参考
http://topic.csdn.net/u/20090626/18/0e7d0af0-2555-479d-9cb5-84175787f2cd.html?75780
lingloveman
2010-05-25
打赏
举报
回复
VS2005自带就有crystal report了吧??能不能用VS2005给个详细的步骤?不好意思我是新手,什么也不懂。
阿泰
2010-05-25
打赏
举报
回复
1楼提供的方法是VB6+CR9的,这种在VB.Net中已经不适用。
楼主有时间可以参考一下,但是个人建议不要看
因为VB6时的方法跟VB.Net的方法差别还是比较大的
对于初学者,建议看一下下面这个视频
http://www.feelcode.net/post/23.htm
虽然是c#的,不过看一下,了解下整个报表制作,编码流程。可以有利于入门。
皇城龙三
2010-05-25
打赏
举报
回复
vb.net发布水晶报表程序步骤
http://www.jb51.net/article/13266.htm
皇城龙三
2010-05-25
打赏
举报
回复
在VB中使用水晶报表的一种简易编程方法-.NET教程,VB.Net语言
水晶报表(crystal report)的业内最专业、功能最强的报表系统,他除了强大的报表功能外,最大的优势是实现了和绝大多数流行研发工具的集成和接口。在vs.net平台做过报表研发的程式员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。除了研发新程式外,在工作中我们常需要接触到非常多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。
vb是以前流行的数据库研发平台,用其研发的c/s系统在社会上有非常大的保有量,但vb超弱的报表功能往往让程式员面对客户的升级需求一筹莫展。本文并不做水晶报表的使用和编程教学,实际上水晶报表本身的使用方法和vs.net平台并没有太大的差别,我主要是和大家探讨一下vb和水晶报表的一种较方便的接口方式。我的研发测试平台是windows2003 standard简体中文版、vb6.0+sp5英文版、crystal 9.0简体中文研发版。
关于在水晶报表中制作报表模板的方法,并非本文的探讨范围,读者能参考crystal report的帮助文件和官方网站的技术资料。简单地说,首先要通过水晶报表的数据库引擎手动连接相应的表结构,制作报表模板,并保存为rpt文件,该项操作和利用vb自带的报表工具制作报表大同小异。
用vb调用水晶报表进行报表研发的简单接口方法就是,在水晶报表中用"仅字段定义"来获得字段分布文件,用虚拟的文件创建表字段,用craxdrt对象来强制改动数据源(ado.recordset),其效果相当于在vb中调用了rpt文件。下面分步骤介绍编程方法。
第一步:
在vb工程中project菜单加入"add crystal report 9",报表名使用默认即可。这时form2(crystal rerport自动添加的form,假设名为form2)被自动分配了如下代码:
option explicit
dim report as new cystal1
private sub form_load()
screen.mousepointer = vbhourglass 调用水晶报表时置鼠标为沙漏状
crviewer91.reportsource = report 该语句的赋值将在后面被修改
crviewer91.viewreport
screen.mousepointer = vbdefault 调用水晶报表完成后置鼠标为默认形状
end sub
private sub form_resize()
crviewer91.top = 0
crviewer91.left = 0
crviewer91.height = scaleheight
crviewer91.width = scalewidth
end sub
第二步:
点击crystal report设计器的"数据库字段",选定"数据库专家...",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的需求设置。
第三步:
该步骤非常关键,添加一个modual到工程文件中,定义全局的adodb变量,实现数据库和水晶报表的动态连接。代码如下:
public conn as new adodb.connection
public rs as new adodb.recordset
第四步:
关于vb程式的ado数据库连接注意事项,请看下面的打印按钮例程。
private sub command1_click()
dim connstr as string
if conn.state = adstateopen then conn.close
connstr = "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\prtest.mdb;persist security info=false" prtest.mdb是程式当前目录的测试access数据库
conn.connectionstring = connstr
conn.open
conn.cursorlocation = aduseclient
if rs.state = adstateopen then rs.close
rs.open "test", conn, adopenkeyset, adlockreadonly
report.database.setdatasource rs, 3, 1 此行取消
form2.show 1 数据库连接完成后,调用form2水晶报表工程
end sub
需要提请大家注意的是,上面代码中的report.database.setdatasource rs, 3, 1是初用水晶报表的程式员容易犯的错误,使用该语句后将造成数据库和水晶报表的连接失败。怎么动态调用水晶报表呢?请看第五步。
第五步:
创建水晶报表和数据库数据源的连接,需要修改上面form2的代码。
option explicit
dim report as new cystal1
上面一行取消
private sub form_load()
dim oapp as new craxdrt.application
dim orpt as craxdrt.report
dim reportname as string
上面三行是新增加的
screen.mousepointer = vbhourglass
reportname = "\rpt\pr1.rpt" 定义要引用的rpt文件
set orpt = oapp.openreport(app.path & reportname, 1)
orpt.database.setdatasource rs 连接水晶报表和数据源
orpt.readrecords
crviewer91.reportsource = orpt 启用水晶报表的预览功能
crviewer91.viewreport
screen.mousepointer = vbdefault
end sub
private sub form_resize()
crviewer91.top = 0
crviewer91.left = 0
crviewer91.height = scaleheight
crviewer91.width = scalewidth
end sub
private sub form_unload(cancel as integer)
set report = nothing
set rs = nothing
set conn = nothing
unload form2
end sub
上面介绍了在vb中使用水晶报表进行报表研发的一种方法,该方法简单易用,适合初学者上手。大家熟悉以后,还能继续学习crystal report提供的api函数(lib库 crpe32.dll)进行水晶报表研发,能获得更大的灵活性
lingloveman
2010-05-25
打赏
举报
回复
我装了水晶报表了,还是不行
东莞寻香苑
2010-05-25
打赏
举报
回复
别的电脑,是不是没有装水晶报表?
lingloveman
2010-05-25
打赏
举报
回复
在别的电脑上运行提示错误:
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
System.IO.FileNotFoundException: 未能加载文件或程序集“CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。
文件名:“CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”
在 mainpro.sysmodi.InitializeComponent()
在 mainpro.sysmodi..ctor()
在 mainpro.mainpro.MchangePSW_Click(Object sender, EventArgs e)
在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
在 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
VB.NET
水晶报表
的制作 源代码
VB.NET
水晶报表
的制作 源代码。
VB.NET
水晶报表
的制作 源代码 VB2005
VB.NET
中操作水晶報表的類
使用
VB.NET
的类对
水晶报表
进行操作,包括对参数的
调用
vb.net
使用Excel打印条形码
程序有用到打印条形码的资料,不想用
水晶报表
或
调用
其他条形码软件做好的条码格式。直接用程序
调用
Excel打印条形码,感觉蛮好的。 1.打印PC需要安装条码字体,调试是39Code字体。 2.打印PC需要安装Excel。 3.
调用
...
asp.net知识库
实现C#和
VB.net
之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP...
Anycell Report 中国式报表控件2011 2.45.008.rar
Anycell Report(简称AC Report)是一款中国式报表组件,是国内最早的基于表格,支持图文混排、公式和脚本的中国式报表工具之一。... 安装包中含使用和开发接口文档,及Delphi、VB、VC++、C#.net、
VB.net
和WEB下的demo。
图表区
4,816
社区成员
14,134
社区内容
发帖
与我相关
我的任务
图表区
.NET技术 图表区
复制链接
扫一扫
分享
社区描述
.NET技术 图表区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章