【问题标题】:How can I check that a value in a combo box is a member of the row source the combo box was made from?如何检查组合框中的值是否是组成组合框的行源的成员?
【发布时间】:2021-11-06 12:01:53
【问题描述】:

我正在制作一个表单,需要确保用户在组合框中输入的值是组合框的来源表的成员。目前,用户可以从下拉列表中进行选择,但如果他们决定尝试编辑该值,他们将能够做到。我要么需要代码来检查他们输入的值是否与表中的值匹配,要么我需要让用户首先无法编辑组合框。

我曾尝试使用此 On Key Press 事件过程来拒绝编辑,但之后每次我尝试编辑组合框时,都会抛出一个错误框,然后编辑会保留。

Private Sub User_Name_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = 0
End Sub

我只想在表单末尾的按钮上添加一些内容,以检查该值是否在成员列表中,如果是,则继续执行其他代码,如果不是,则退出子。

我想使用与这个问题类似的东西:Checking if a value is a member of a list 但我不知道如何将我的表作为数组进行标注。

【问题讨论】:

    标签: arrays vba ms-access combobox


    【解决方案1】:

    设置组合框属性.LimitToList = True 是最简单的解决方案,但请检查帮助文件以确保这足以满足您的需求,因为有很多方法可以做到这一点。

    【讨论】:

      猜你喜欢
      • 2012-11-25
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多