2012-10-17 46 views
1

我想要做的是顯示我的表單上標籤上當前選定字段的描述。我覺得它現在正在顯示的位置(左下方的狀態欄)幾乎不顯眼。在表單上的標籤或文本框中顯示字段描述

如何在狀態欄中訪問該值?例如,在我的表單中,當我有一個發言權時,員工姓名字段被選中,在左下方的小字體中,它顯示「您正在註冊的員工的姓名。」

我知道在某些情況下我的形式,我需要的代碼,不會

me.lblControlDescription.Caption = me.statusbar.caption 

如何訪問在VBA狀態欄(字段描述)的文本?

回答

0

狀態欄中的文本是當前字段的Description屬性。

從VBA,您可以訪問窗體的記錄集中字段的Description

Debug.Print Me.Recordset.fields("id").Properties("Description") 

所以,如果你有一個名爲lblDescription一個標籤控件,您可以設置它的.Caption值字段的Description

Me.lblDescription.Caption = Me.Recordset.fields("id").Properties("Description") 

但是,這可能會更復雜。 Description是一個用戶創建的屬性,這意味着它不存在,直到您給它一個值。而且,如果你有一套,但稍後刪除它的值,該屬性本身不再存在。

如果您嘗試檢索Description,如果不存在,VBA將拋出錯誤#3270,「找不到屬性」。您可以捕獲該錯誤,並在發生時將Me.lblDescription.Caption設置爲vbNullString

當更改爲Me.lblDescription.Caption時,您還需要策略。您可以創建一個基於當前活動控件進行設置的過程。然後從每個窗體控件的on focus事件調用該過程。對此可能有更好的方法,但我現在還沒有看到。

+0

感謝hans,我的印象是,描述實際上被設置爲表單的值(關於主動控制的改變),並且可以這樣訪問。 Me.lblDescription.caption = Me.ActiveControl.Properties(「description」)是一個有效的解決方案嗎?編輯:這不是 – Scotch

+0

我會猜測不。一個字段可以有一個Description屬性;一個控件沒有。同時規劃您的策略,以處理未綁定的數據控件以及其他無法使用說明的控件(即命令按鈕)。 – HansUp