【问题标题】:Combobox dropdown choice freezing组合框下拉选择冻结
【发布时间】:2017-02-17 19:31:47
【问题描述】:

我的组合框(基于查询)下拉并显示选项,但我无法单击选项并让它保留并填写其相关文本框!我可以在下拉列表中突出显示一个客户,但它不会让我“选择”一个 - 所有功能完全停止。我可以在表单底部滚动浏览所有 350 条记录,但显然不方便用户使用。

【问题讨论】:

  • 组合框是否“未绑定”? AfterUpdate 事件背后有代码吗?我是否假设您希望能够在组合框中选择一个条目并让 Access 移动到所选记录?如果组合框已绑定,您实际上正在做的是更改当前记录的此字段的值。确认您想要实现的目标,我或其他人应该能够提供帮助
  • @Skippy 感谢您的回复。你的假设是正确的。组合框属性显示为“Bound Column: 1”,但如果这是必要的,我不确定如何更改它。 AfterUpdate 事件背后没有代码。

标签: combobox ms-access-2016


【解决方案1】:

好的,所以要完全回答这个问题,我需要知道组合框的其他一些设置。你能告诉我Column countColumn widths 吗?你说组合框是基于一个查询(所以这个查询是Rowsource),而Bound column是第1列;查询中显示的第一列是什么?是数字 ID 还是客户名称?

要使组合框“未绑定”,请清除 Control source 属性。如果您希望能够编辑此组合绑定到的字段,那么有几个选项,但这可能是一个单独的问题。目前,要实现更改组合选择时显示正确记录的效果,您需要在AfterUpdate事件中添加代码:

Dim rst As Recordset
Set rst = Me.RecordsetClone
rst.FindFirst **search criteria**
If Not rst.NoMatch Then
    Me.Bookmark = rst.Bookmark
End If
Set rst = Nothing

根据组合框所基于的查询的第一列是数字还是文本,您需要将搜索条件替换为

"CustomerID = " & combo1

"CustomerName = '" & combo1 & "'"

(但使用您自己的列名和组合框名称)

Allen Browne 提供了大量关于 Access 数据库的有用提示,请查看 http://allenbrowne.com/ser-03.html 以获得对这个问题的更全面的答案。

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2021-05-04
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多