Часть моего приложения доступа делает выставление счетов. У меня есть таблица номеров счетов, которая представляет одно поле «InvoiceNum». В моем докладе фактурного У меня есть следующий код:Инкрементный номер счета-фактуры с использованием VBA - Доступ
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», добавленный к номеру счета-фактуры? Возможно, в запросе добавьте поле, которое сделает что-то вроде того, что вам нужно (я не уверен, как сгруппировать их). Есть также свойства, где вы можете выбрать «Keep on one page», но я не уверен, это сработает. –
Применять номера счетов в свои счета-фактуры перед печатью. – Gustav
Ваш прирост находится в заголовке страницы. Попробуйте добавить его в заголовок отчета или событие onload. – Gene