近日分析一VB做的报表,由于对VB只是了解,谈不上熟练,不过对其水晶报表倒有点认识,之前也做过三两个小的报表 ,加之对PB中的报表了解非常熟悉,当时信心蛮大的。
先是看了DataReport,用于绘制报表格式。再来看DataEnvironment,用于定义获取的数据列。将DataReport与DataEnvironment绑定后就可获取数据了。
基于这个思路还算是简单,做个简单的不带参数条件的SQL通过了。不过打开报表的界面无法自定义,如加个查询的按钮,让查询的条件与报表显示在同一个界面中,(PB实现就太简单了)。想到一个与DataReport差不多同名的ActiveX-DataRepeat,(想通过ActiveX加载该DataReport,这样就可在自定义界面上显示这个Report)先看看再说,结论是两码事。DataReport用于设计报表,Datarepeat与DataGrid类似数据底层转换处理的。(只怪英文差,应该从字面上可以理解这个DataRepeat与Report是两码事,不过这种精神值得提倡,没有调查就没发言权。)
无参数的SQL是没问题,下面就是有参数的了。分析别人的程序是件可怕的事,特别是对VB不熟,加上别人使用的另类方法,更是一头雾水。这回我就遇上了。
代码中没有去处理DataEnvironment,虽然DataReport都与DataEnvironment绑定了,但属于静态式绑定。原作者使用的是DataBase,通过OpenDatabase一个MDB文件,再在QueryDefs子类中去动态设置SQL,这样就将相当于对参数传入了。开始时照猫画虎了,程序未报错,可检索后没有按查询条件来检索。DataEnvironment中我定义了的CmdText方式&
VB中利用DataBase巧妙设置DataReport中的动态SQL
最新推荐文章于 2021-04-05 18:45:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)