2016-02-12 179 views
0

我在設置指令(VBA)在加載事件 MS Access中的報告。 當我打開報告時,代碼完美無缺。 但是,當我嘗試將報告作爲子報表嵌入到主報表中時,代碼不起作用。 我認爲問題是我應該引用不同的字段(Me.Service1 ...),因爲我現在想從主報表中調用該字段,但是我沒有找到正確的語法結構。 這是代碼我想embeed我的主要報告:VBA代碼引用從主要報告訪問子報告

Private Sub Report_Load() 


If Me.Service1 = "Scanmachine" Then 
Me.Vessel.Visible = True 
Me.Label400.Visible = True 
Else 
Me.Vessel.Visible = False 
Me.Label400.Visible = False 
End If 


End Sub 

有什麼建議?

+0

所以我是正確的思維是'service1','vessel'和'label400'都在主報告? – LiamH

+0

不,他們只是從子報表領域... –

+0

哦,好吧,我會編輯我的答案相應 – LiamH

回答

1

的確,您需要更改子報表控件的相對引用。在我的Access數據庫開發工作的過程中,我使用這個Access MVPs resource,甚至爲網頁添加書籤(儘管它使用表單,相同的命名設置適用於報告)。

考慮以下,相應地調整名稱和主報告的OnOpen()事件運行此:

Private Sub Report_Load() 

    If Me![subreportcontrolname].Report!Service1 = "Scanmachine" Then 
     Me![subreportcontrolname].Report!Vessel.Visible = True 
     Me![subreportcontrolname].Report!Label400.Visible = True 
    Else 
     Me![subreportcontrolname].Report!Vessel.Visible = False 
     Me![subreportcontrolname].Report!Label400.Visible = False 
    End If 

End Sub 
+0

IT與代碼工作,我寫它如你所說,它的工作,感謝您的幫助。我已經看到你連接的桌子,但我可以在之前理解它。現在我明白了。謝謝您的幫助 :) –