您要对DataEnvironment中的数据源关闭后重新开启,然后再看DataReport中的数据就能更新了。 我也遇到过这样的情况,现在对DataEnvironment中的数据源我用 :
    sSQL = "SHAPE {SELECT * from mytable} AS detail COMPUTE detail BY field1"
    If myData.rs_grouping.State = 1 Then myData.rs_grouping.Close
    myData.rs_grouping.Open sSQL, myData.Public, adOpenKeyset, adLockReadOnly, adCmdText
    祝您好运!

解决方案 »

  1.   

    谢谢!
    不过我所问的是对刚用addnew方法增加的记录如何立刻打印出来,请问用什么方法呢?
      

  2.   

    主要是应该怎样处理data控件才能使datareport接受刚增加的记录。
      

  3.   

    请问requery方法和update方法有什么区别呢?
    我试了这两种方法都是必须先放在一个保存按钮的click事件里,等此按钮按过后再按打印按钮才有效。
    怎样才能不需要按保存按钮,直接按打印按钮就能打印出新增加的记录呢??
      

  4.   

    用DATA1。REFLESH来试一下,而且把记录指针移到刚开始添加的位置.
      

  5.   

    你在表里面加一个日期时间型的字段比如DtTm
    然后一输完新的数据就调用datareport
    datareport的数据源为select * from yourtb where DtTm=(select max(DtTm) from yourtb)
      

  6.   

    songyangk(小草) :
    调试通过了吗?
    通过了100分就是你的了。
    不够的话还可以再加。
      

  7.   

    我现在有点没太明白你的意思,你是说在用了ADDNEW之后没有UPDATE是吗?
      

  8.   

    是的,因为增加记录的按钮中是不能放update或requery的,放了也没用。
    所以按打印按钮时的状态是刚刚用了addnew方法,而且用户已在textbox中输入内容了。
    如果可能的话,你能否写一下增加按钮的语句和打印按钮的语句呢?
    只要能不按保存按钮,直接按打印按钮就能打印出新增加的记录就可以了。
    谢谢!
      

  9.   

    按我的理解在概说一下吧。
    在Addnew按钮按下的时候,用rs.addnew方法,同时再记录一个变量表示开始增加,比如用add按钮的tag属性。
    在保存按钮中,将这个属性值去掉,表示没有增加操作了。
    在打印按钮中,读一下这个属性值,如果有值就持行一下rs.update,然后再打印。
    试试吧,不知道是不是你想要的。
      

  10.   

    但问题是在打印按钮里就算用了update方法,datareport也不能接受textbox中用户刚输入的内容,我已经调试过了。
    能否给出增加按钮和打印按钮的具体代码?不过你最好将代码上机调试一下,如果调试成功,下面贴子的分数也是你的:
    http://www.csdn.net/expert/TopicView.asp?id=246143
    明天结帐。
      

  11.   

    你有qq吗?
    我上qq太少,机器刚刚重装,忘了号码了。
      

  12.   

    MSN行吗?[email protected]
    QQ好久不上了。
      

  13.   

    天呀!不知道你的速度能是什么样的。到www.msn.com上申请吧。实在不行我就去下载QQ,想怎么样都告诉我一声。
      

  14.   

    我这里还没上宽带,白天比较慢,不知道行不行。
    我先到msn上申请试试吧。