我必须在 Access 2007 中的 Combobox 上单击两次
Posted
技术标签:
【中文标题】我必须在 Access 2007 中的 Combobox 上单击两次【英文标题】:I have to click twice on Combobox in Access2007 【发布时间】:2012-09-17 14:56:38 【问题描述】:我有一个只有一个文本列的表格。此外,我有一个带有组合框的表单。现在我希望组合框重新查询焦点。所以我在vba中添加了一个方法:
Private Sub combobox1_GotFocus()
With combobox1
.RowSource = "SELECT text " + _
"FROM tblExample " + _
" ORDER BY text"
.Requery
End With
End Sub
当我现在单击组合框 1 时,下拉列表不会打开。只有当我第二次点击它时,它才会打开。这里有什么问题?如果我将这两个 .-line 放在注释中,我可以只单击一次组合框,然后会显示一个空列表。
注意:我简化了问题。我有另一个公式,我在其中做同样的事情并且效果很好。我希望有人知道如何解决这个问题。
【问题讨论】:
如果您可以提供与您实际使用的查询相似的查询,将会很有帮助。您需要对查询进行哪些更改? where 子句? 是的,它是一个带有 INNER JOIN 和 where 子句的查询,例如“SELECT tblAnotherExample.text FROM tblExample INNER JOIN tblAnotherExample ON tblExample.ID=tblAnotherExample.ExampleID WHERE tblAnotherExample.column1=" + CStr(Me .AnotherCombobox.Value) + " ORDER BY tblAnotherExample.text" 【参考方案1】:当您重新查询组合框时,它会暂时失去焦点。当您再次单击它时,它已经具有焦点,因此不会触发 OnFocus
事件。您可能希望在用户单击组合框之前重新查询它。
【讨论】:
【参考方案2】:您的 OnFocus 操作很好,但您也可以添加类似这样的操作。
Private Sub combobox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.combobox1.SetFocus
Me.combobox1.Dropdown
End Sub
【讨论】:
以上是关于我必须在 Access 2007 中的 Combobox 上单击两次的主要内容,如果未能解决你的问题,请参考以下文章