2010-10-01 62 views
1

我在Microsoft Access 2007中有一個名爲System的窗體,在此窗體中有一個名爲Utility的組合框。下面是另一個名爲Utility_FOO的組合框,並且我已經在默認情況下禁用了它的可見性。 Utilities中的一個選項是標有'FOO'的複選框。我希望Utility_FOO在選擇FOO時變得可見。在Access 2007中啓用組合框選擇的字段可見性

我已經嘗試在Visual Basic中創建一個子程序,檢查每次從列表中選擇一個項目(使用onUpdate)時是否選擇FOO,但我無法弄清楚如何檢查特定項目。有沒有簡單的方法來做到這一點?

謝謝!

+0

這是一個多選組合框嗎? – JeffO 2010-10-01 20:14:45

+0

我不太確定;我對Access很陌生。 當我按下箭頭查看可用選項時,每個選項旁邊都有一個複選框,我可以檢查任意數量的我喜歡的選項。 – Bucket 2010-10-01 20:25:43

+0

這聽起來像你想要在控制的更新後發生這種情況。另外,如果有複選框,它聽起來像是一個多值字段,而不是標準的組合框或列表框。通過程序查找這些值是另一種魚類。設計視圖中的表單截圖可能會有幫助。 – 2010-10-01 23:27:17

回答

1

如果您的組合框綁定到多值字段,請檢查其.value屬性以確定FOO是否位於所選(選中)的項目中。

Private Sub Utility_AfterUpdate() 
    Call SetVisible 
End Sub 

Private Sub SetVisible() 
    Dim varItm As Variant 
    Dim blnVisible as Boolean 

    blnVisible = False 
    If Not IsNull(Me.Utility.Value) Then 
     For Each varItm In Me.Utility.Value 
      If varItm = "FOO" Then 
       blnVisible = True 
       Exit For 
      End If 
     Next varItm 
    End If 
    Me.Utility_FOO.Visible = blnVisible 
End Sub 

您可能還想爲窗體的On Current事件做同樣的事情。如果是這樣,請添加:

Private Sub Form_Current() 
    Call SetVisible 
End Sub 
相關問題