2016-04-22 135 views
0

我有一個帶有組合框的窗體。選擇組合框中的某些選項將觸發表單中的不同動作。在Access 2013中選擇VBA中的組合框選項

我想在打開表格或轉到下一條記錄時自動選擇第一個下拉選項。使用VBA命令ComboBox.Value = "Option1"僅向組合框輸入一個字符串;它與手動點擊選項不同,不會觸發其他操作。

如何以組合框下拉的方式選擇一個選項,以Access的方式識別它,就像點擊它一樣?

+0

您使用哪個組合框事件來觸發操作?您的組合框數據源是表/查詢還是列表? – MoondogsMaDawg

回答

0

我通過設置其他答案中所述的組合框值來解決此問題,然後調用AfterUpdate事件,其中編寫了我的操作。該事件觸發並使用我使用VBA設置的ComboBox.Value

ComboBox.Value = "Option1" 
Call ComboBox_AfterUpdate 
1

,如果你想更新/下方點擊事件

me.combobox.value = "option1" 
+0

我不打算根據組合框值執行操作 - 我已經在工作。我正在尋找使用VBA來選擇選項,例如,如果我單擊窗體上的按鈕,按鈕的單擊事件填充組合框。 – jjjjjjjjjjj

+0

編輯瞭解決方案,只需在點擊事件中更改組合框的值 – SunRay

+0

仍不會觸發與組合框關聯的操作。我試着把代碼放在其他事件中,但都沒有工作。 – jjjjjjjjjjj

1

改變comboxbox值與使用一個按鈕,在在代碼中,改變Combo7你的組合框的名稱。將Filed1更改爲表格的Fieldname。更改選項1到您的選項字符串:

Private Sub Form_Current() 
    If IsNull(Me.recordSet.field1) Then 
     Me.recordSet.Edit 
     Me.recordSet.Field1 = "option1" 
     Me.recordSet.Update 
    End If 
    Call Combo7_Change 
End Sub 

在下面的代碼,改變Text9.Value您要執行的代碼,當窗體打開或記錄被更改:

Private Sub Combo7_Change() 
    Select Case Combo7.Value 
    Case "option1" 
     Text9.Value = 1 
    Case "option2" 
     Text9.Value = 2 
    Case "option3" 
     Text9.Value = 3   
    End Select  
End Sub 

讓我知道如果你有沒有問題。

+0

'Me.recordSet.Field1 =「option1」'與'ComboBox.Value =「Option1」'有什麼不同? 'Call'函數對我來說是新的,我會試試看。 – jjjjjjjjjjj

+0

ConboBox.Value只會將表單字段設置爲Option1。我所顯示的技術更新了Recordset中相應的ComboBox字段。嘗試一下。我測試了它,它工作。 –

+0

我做了,如果我把綁定列的名稱作爲Field1,「option1」不顯示。如果我用'ComboBox.Value =「選項1」替換If語句,「選項1」出現一瞬間,然後由組合框寫入的表中的第一行替換。如果我手動在組合框中鍵入它,它會保留。它與組合框的綁定方式有關嗎? – jjjjjjjjjjj

相關問題