做了一个打印票据的程序。票据信息从数据库中取得,每一条票据信息打在一张纸上。现在想实现每打印完一张票据就删除这条票据在数据库中的信息,请问如何实现。
注:要保证打印机出问题时(如卡纸、缺纸),正在打印的当前数据信息以及这一条数据下面的数据信息仍然保留。
多谢!!!!!!!!!!!!!!

解决方案 »

  1.   

    你用什么方式打印的,报表还是PRINTER打印对象,在打印成功之后就根据主键或者其他信息删除数据库中的数据就行了!!
    缺纸的情况,在打印机有纸之后可以继续打印,卡纸的情况程序就不知道了!!
      

  2.   

    用的printer打印对象。
    你说的思路我试过。我程序里每打一张票据信息的时候是调用了一个打印函数,这个函数里面控制了打印内容和打印位置,我在这个函数里面在打印票据信息后加了删除此条信息的语句,可是数据库里面的所有内容都删除了,不知道是什么原因,和打印机缓冲区有没有关系?
      

  3.   


      Printer.EndDoc
        Printer.KillDoc
      之后
    删除你的这个记录。cn.Execute "delete * from a where ID=" & NID
    NID应该是你从数据库中取出时保存的变量
      

  4.   

    to cuizm(射天狼) ( ) :打印机在打印的时候会显示有多少页纸需要打,这个页数是怎么算出来的?我觉得应该是根据纸张大小和程序里的换页控制命令得出的,那就是说程序是先转了以便以后把所有页的打印指令(页就是我调用的打印函数)都送到打印队列里了(也就是缓冲区),所以等于在打印之前就执行了N次删除数据的命令(N也就是调用打印函数的次数),所以不管有没有缺纸,数据库里的数据都会被删除的。
    不知道我说得对不对,如果确实如此,应该怎么修改程序才能达到我的要求。多谢!!!