0
我有一個帶有選項卡控件的父窗體,每個窗體都有一個報表。我正在嘗試在我的主窗體上放置一個命令按鈕,以便在活動選項卡上打印報告。我強烈地試圖避免在每個報告上放置「打印」按鈕。 到目前爲止,我已經做了以下內容:從窗體打印子報表(Access 2016)
1.I我使用這行代碼來打開打印預覽所選報告:
DoCmd.OpenReport Right(Me!Rpt0.SourceObject, Len(Me!Rpt0.SourceObject) - 7), acViewPreview
它看起來那麼複雜,因爲當你有一個報告子窗體源對象屬性是Report.MyReport,所以我不得不消除「報告」。部分。
到目前爲止這麼好。
2.我也根據包含它們的選項卡的索引,命名了所有控制報告的控件。所以,第1頁的報告是Rpt0,第2頁是Rpt1等等。
我試圖用表達看起來像這樣,以取代在該行上的代碼的「Rpt0」部分:
myexp= "Rpt" & Me!TabCtl1.TabIndex
所以上面的代碼變爲:
DoCmd.OpenReport Right(Me!myexp.SourceObject, Len(Me!myexp.SourceObject) - 7), acViewPreview
並且每次選擇活動報告。
我的問題是與灰暗和設置..我不熟悉它們,似乎任何組合我嘗試,我得到一個「所需的對象」的錯誤,或者或運行時錯誤「2465」 :找不到字段「myexp」。
預先感謝您
非常感謝您!古斯塔夫這非常簡單..!如果其他人有同樣的問題,最終的代碼是:Private Sub Print_Report_Click() Dim sbfname As String sbfname =「Rpt」&Me.TabCtl1 DoCmd.OpenReport Right(Me(sbfname).SourceObject,Len(Me (sbfname).SourceObject) - 7),acViewPreview End Sub'(如果有人知道如何在這裏添加空格,請做)。我還用'Me.Tabctl1'取代了'Me!tabctl1.TabIndex',因爲第一個總是給我第一頁,而不是「可見」。 – aran0ia
太棒了!您可以將最終代碼附加到您的問題中,以使其更具可讀性。 – Gustav