我的部分访问应用程序会开具发票。我有一个发票号码表,其中包含一个字段“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打开。多张发票打印在同一报表上。如果任何发票溢出到第二页,则格式代码再次运行,将增量发票号插入第二页。我怎样才能防止这种情况发生?
答案 0 :(得分:0)
考虑在报表的页眉部分中使用带有InvoiceNum的Running Sum控件。无需VBA。
首先,添加一个不可见的文本框,用于在所有报告的记录上运行计数,其中包括:
AGENT_AGENT_ID
其次,为InvoiceNum的DLookUp添加另一个不可见的文本框:
Control Source: =1
Running Sum: Over All
Name: RunningCount
Visible: No
最后,为前两个控件的总和添加一个可见文本框,作为增量发票编号:
Control Source: =DLookup("InvoiceNum", "tblInvoiceNum")
Running Sum: No
Name: intInvoiceNum
Visible: No
您可能想知道,为什么前两个看不见的控件?使用Control Source: =[intInvoiceNum] + [RunningCount]
Running Sum: No
Name: IncrementalInvoiceNum
Visible: Yes
的原因将包括报告的每条记录的计数和发票号(例如,1 + InvoiceNum - 第1条记录; 1 + 1 + InvoiceNum + InvoiceNum - 第2条记录......)