2010-09-27 67 views
0

在MS Access報告,可以使用文本框來顯示頁面數如下:顯示報告的頁面數只有在打印

= "Page " & Page & " of " & Pages & " Pages" 

然而,這是一個大的報告有問題的,因爲無法打開第一預覽中的報告頁面,直到所有頁面已被格式化(因此它知道總頁數)。

理想情況下,在預覽中,我只會顯示「頁面123」,但是當報告實際上是打印時,會被「頁面123共456頁」取代。

這可能是一廂情願,但有人管理這樣的事情?

回答

3

Access 2007年(你沒有註明您的版本),具有可CurrentView屬性通過VBA,您可以更改頁文本框控件來源:

Private Sub Report_Open(Cancel As Integer) 

Select Case Me.CurrentView 
     Case acCurViewDesign 

     Case acCurViewPreview 
      ' Page # Only 
      Pages_TextBox.ControlSource = "Page" & Me.Page 

     Case acCurViewReportBrowse 

      ' Page # of # 
      Pages_TextBox.ControlSource = "Page" & Me.Page & " of " & Me.Pages 
     Case acCurViewLayout 
       End Select 
End Sub 
+2

很好的建議。這些狀態有一些命名常量,我傾向於使用它們而不是字面值,因爲它們可以節省需要添加註釋以解釋每個值引用的內容。 – 2010-09-27 18:15:43

+0

我終於找到了常量並更新了。 – JeffO 2010-09-27 21:00:06

+0

謝謝傑夫。當我將其更改爲以下格式時,此功能可用: page_number.ControlSource =「='頁面和頁面」 不幸的是,如果用戶預覽報表,然後選擇「打印」做。你會知道一個竅門來克服嗎? – maxhugen 2010-09-28 22:19:07