VB中利用DataBase巧妙设置DataReport中的动态SQL

    近日分析一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方式&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值