2016-04-22 99 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

相关问题