获取空白数据报告vb6

时间:2010-02-25 14:43:14

标签: vb6 report

我是vb6的新手。我正在努力创建发票生成应用程序。我正在使用数据报告来显示生成的发票。 一步一步的工作流程是:

在Invoice和ItemsInvoice表中输入数据。 然后从数据库中使用(Adodc)获取maxId以显示上次生成的发票。

然后将max Id作为参数传递给根据发票ID显示发票的数据报告。

我第一次生成发票时工作正常。现在,对于没有关闭申请的第二张发票,我收到一份空白数据报告。对于数据报告,我使用的是数据环境。

我猜测数据报告是空白的原因是因为没有该Id的记录,但实际上记录正在数据库中插入。

出了什么问题?

4 个答案:

答案 0 :(得分:0)

我不确定您的数据集是如何配置的,但听起来您在数据中只有一条记录并且没有正确地重新加载它。如果您的报告是手动移动记录集并且仅显示基于您传递的ID参数的信息,然后使用相同的记录集来显示第二个报告,您可能只需要在记录集上MoveFirst将其恢复在开始。

答案 1 :(得分:0)

加载数据环境并刷新数据报告。 我也以类似的方式生成报告。我遇到了这个问题。这是解决方案

Load DataEnvironment1
With DataEnvironment1
     'Command1 is the command added to data environment where you fire query or 
     'set it to point to a table

    If .rsCommand1.State <> 0 Then .rsCommand1.Close
    .Command1 maxid         'parameter you pass to the recordset

End With
DataReport1.Refresh
DataReport1.Show

多数民众赞成! 你完成了。我相信它会奏效。请告诉我它是否没有。

答案 2 :(得分:0)

我不知道答案是否仍然会打扰你,但如果其他人有同样的问题,这里是一个问题如何运作的例子: 想象一下,当第一个人(第一张发票)到来时,守卫登记他,打开门(这是事件“加载DataEnvironmet”)然后让那个家伙通过,有一个门和一个看守正在进入的门。警卫认为没有其他人会来打开门(指令认为DataEnvironment结束,价值EOF变为True),但当第二个人来时(第二张发票),警卫不能问他是谁(又有了价值并让它通过而没有注册他(这就是为什么第二张发票,以及随后的发票会变成空白的原因)。解决方案是在一个人之后关闭门(“卸载数据环境”)传递(显示数据报告后)。 解决方案是上面Sangita提供的代码,但在结束sub之前,您需要卸载正在处理的DataEnvironment。 对我来说,它有效。对不起,如果答案不是你想要的(如果其他人不能理解我在写什么,我的英语不是很好)。以防万一我会用解决方案编写代码

 Load DataEnvironment1
 With DataEnvironment1

   If .rsCommand1.State <> 0 Then
     .rsCommand1.Close
   End If
   .Command1 Value(ID)  

 End With
 DataReport1.Refresh
 DataReport1.Show
 Unload DataEnvironment1

答案 3 :(得分:-1)

尝试使用data1.recordset.requery或类似的刷新方法 Data1.refresh。如果您使用数据控件,这应该有效。