【发布时间】:2015-06-08 19:25:27
【问题描述】:
我的部分访问应用程序会开具发票。我有一个发票编号表,其中包含一个字段“InvoiceNum”。在我的发票报告中,我有以下代码:
Private Sub Report_Open(Cancel As Integer)
'lookup invoice number when invoice opens
intInvoiceNum = Nz(DLookup("InvoiceNum", "tblInvoiceNum"), 0)
End Sub`
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
'Incrementally add one (1) to the invoice number for every page of in the report
Me.txtInvoiceNum = intInvoiceNum
intInvoiceNum = intInvoiceNum + 1
End Sub`
Private Sub Report_Close()
'Update tblInvoiceNum with the last invoice number in the report
db.Execute ("UPDATE InvoiceNum SET InvoiceNum = " & intInvoiceNum)
End_Sub`
问题:我的报告使用 groupby ClientID 和 ProjectNum 打开。多张发票打印在同一份报告上。如果任何发票溢出到第二页,格式代码将再次运行,将增量发票编号插入第二页。我怎样才能防止这种情况发生?
【问题讨论】:
-
这是随心所欲做事的不幸现实之一。有没有更好的方法可以将
1附加到发票号?也许在查询中添加一个类似于您需要的字段(我不确定如何对它们进行分组)。还有一些属性可以选择“保留在一页上”,但我不确定是否那会起作用的。 -
在打印前将发票编号应用于您的发票记录。
-
您的增量在页眉中。尝试将其添加到报告标题或 onload 事件中。
-
Gene - 如果我这样做,后续页面不会有发票编号,我会在一份报告中打印多张发票。 Gustav - 你的想法有一些优点,但问题是我打印每个报告的不同 ClientID 和 ProjectNum 的多次迭代。如果我从绑定的表单生成发票,你的想法会起作用。
-
您似乎没有在任何地方存储发票编号。因此,即使这可行,当您针对相同的参数运行相同的报告两次时,您将获得两个发票编号。