2014-02-21 135 views
-1

好吧,我在Access窗體中有幾個「複選框」。我所要做的就是獲取複選框的Checked Value。獲取vba訪問中CheckBox CheckBox的值?

通過執行Me.Check271.Value它返回我0或-1。但是

我想得到尊重標籤的選中CheckBox。

在圖片下面我想MSGBOX被檢查的值:

我試圖爲:

MSGBOX 「Me.Check271.Parent」

enter image description here

非常感謝

+1

解決這個已經在這裏找到答案:http://stackoverflow.com/questions/1637083/how-to-access-the-label代碼控制 因此,這被認爲是一個「微不足道的答案」?!?!?希望我複製整個解決方案並粘貼爲答案? –

+0

是的,我做了一些改變,它工作。確定粘貼它。我會將你的帖子標記爲答案:) –

+0

我必須在發貼的'規則'中笑(或劃傷我的頭,或咬緊牙關......)。我看到過項目被擱置或者被低估,因爲海報'似乎沒有對自己做任何研究'或'問題不清楚'等。我原來的'答案',這是一個鏈接,提供瞭解決方案是非常冗長的),但它被自動刪除(?)爲「微不足道」。祝你的項目好運! –

回答

3

簡而言之,以下將起作用:

Check271.Controls.Item(0).Caption 

詳細版本:TextBoxes,ComboBoxes,ListBoxes,CheckBoxes在其控件集合(附加標籤)中最多有1個項目,但是如果標籤未附加,那麼它們甚至不會擁有該項目。控件(0)將引發錯誤。

以下將顯示在「檢查」複選框

Dim ctl   As Control 
Dim blnChecked As Boolean 
Dim strChecked As String 

For Each ctl In Me.Section("Detail").Controls 
    If ctl.ControlType = acCheckBox Then 
     If ctl.Enabled = True Then 
      Debug.Print ctl.Name & vbTab & ctl.Value 
      If ctl.Value = vbTrue Then 
       blnChecked = True 
       strChecked = strChecked & ctl.Name & "; " 
      End If 
     End If 
    End If 
Next ctl 
If blnChecked = True Then 
    MsgBox "The following CheckBoxes were checked: " & strChecked, vbOKOnly, "Checked Boxes" 
End If 
+0

好的,謝謝。還有一件事,如果我必須檢查哪個複選框被選中?這樣,我**只獲得選中的文本框的標籤? –

+0

我更新了答案,以提供您所需要的... –

+0

謝謝,什麼是「細節」? –