我用rave设计报表一直没问题但是今天突然出现一个奇怪的现象在form中我用TQuery处理好一个数据报表,比如用query1
里面的sql语句是select 代码,名称,单位,临时数据 as 入库数,临时数据 as 发料数,临时数据 as 目前库存 from 仓库
然后procedure给入库数,发料数,目前库存数赋值,
最后用rave 的 Execute命令把加工好的表结果输出来。这个方法处理了N个复杂的报表,可是今天郁闷了用rave Execute后,rave居然将我的query1重新触发运行了一次,使打印出来的结果是加工前的数据。紧急求助。一定是有一个细节我没注意到。但是我已经将今天做的程序和以前的对比了N次,甚至把以前没问题的程序报表拷贝过来测试也是这个问题,郁闷啊。也许我说的不够详细,望熟悉Rave的大侠,关注一下,我在线等,我说不清楚的地方,我马上补充。谢谢!

解决方案 »

  1.   

    看你的代码。在这个sql语句下,是否给Query的sql语句又重新赋值了。
      

  2.   

    我也是怀疑是不是有个地方触发query ,奇怪啊,之前用这个方法没有错啊。
    后来我只用一个固定的query 例如 select * from 学生 
    数据表不做任何二次加工,直接用rave  Execute 打印出来,结果也是将query重新运行一次,离奇古怪啊!
      

  3.   

    我又用最简单的方法试验过
    建一个query
    sql是select * from 学生
    然后直接用rave Execute 打印出来,
    发现query 打印前被触发一次
    晕啊 那个熟悉rave设置的大哥来帮个忙吧
      

  4.   

    自己顶一下,希望熟悉rave的大侠看到
      

  5.   

    lz 你通过query 获得数据集 在rave Execute  时会去判断query 是否action 为true(也有可能是判断是否为空集) 
    如果不是 他会打开这个query 得到数据 后再把action 设置为false
    但是如果query 的action 为true的时候他得到数据后是不会关闭的 个人见解
      

  6.   

    你的 query1最好动态赋SQL语句,这样每次打印时都是一个最新的SQL来采集数据结果,别写在控件sql中。