【问题标题】:Access unbound combobox has bound column value but won't display unbound value访问未绑定组合框已绑定列值但不会显示未绑定值
【发布时间】:2016-09-12 11:08:14
【问题描述】:

我正在使用查询来设置组合框的值,该组合框使用对行源的查询。该查询将返回一个代码,例如“ADDD”,它对应于“意外死亡、肢解和残疾福利”。代码在组合框的第 1 列,但宽度设置为 0。描述在第 2 列,是应该显示的内容。我发现组合框值已正确设置为代码,但未显示描述。如果我用“ADDD”替换查询结果,那么它可以正常工作,并显示描述。

        strSQL = "SELECT SchemaBenefit FROM Benefit_Client WHERE SchemaName = '" & cboSchema & "' AND SchemaBenefitClient = Me.ben1

        rs.Open strSQL, cnn

        With Me.acf1
            If rs.EOF = False Then .Value = rs.GetString
        End With

编辑:

让我试着解释一下。我有一个表,其中包含大约 1400 个索赔代码及其相应的描述。我用它作为 30 个组合框的来源。组合框的第 1 列是代码,被隐藏,并且是绑定列。第 2 列是描述。然后我有第二个表来存储方案/模板。当我查询此方案/模板表时,我将代码作为结果返回,但我希望组合框显示描述

编辑2:

仅使用 1 个组合框作为示例的简化代码

【问题讨论】:

  • 由于提供的信息有限,很难回答这个问题。在这里很难使用 Access,因为已经为您完成了很多编码工作。但是您的问题与您提供的代码不匹配。该代码显示在您的 SQL 语句中只返回一列。您不会有“第 2 列”,因为您的查询没有返回 2 列。
  • 检查组合框的Bound column 属性。确保它显示1。还要检查该属性的列数。很难理解你的代码在做什么......你能把为Control source找到的东西放在组合框里吗?
  • 如果不是 EOF,我认为您可能需要添加 'rs.movefirst'?
  • @BoydP 让我试着解释一下。我有一个表,其中包含大约 1400 个索赔代码及其相应的描述。我用它作为 30 个组合框的来源。组合框的第 1 列是代码,被隐藏,并且是绑定列。第 2 列是描述。然后我有第二个表来存储方案/模板。当我查询此方案/模板表时,我返回代码作为结果,但我希望组合框显示描述。
  • @Smandoli 绑定到第 1 列,列数为 2,control sourceSELECT rga_Benefits.ITEM_CODE, rga_Benefits.ITEM_DESCRIPTION FROM rga_Benefits WHERE (((rga_Benefits.ITEM_CODE)<>"")) ORDER BY rga_Benefits.ITEM_DESCRIPTION;

标签: vba ms-access combobox ms-access-2010


【解决方案1】:

这个答案可能对我的问题过于具体,如果是,请删除它。但我的问题是 rs.getstring 返回了正确的字符串,但在文本之后也是一个空行。当我使用 left(rs.getstring, 2) 时,它解决了我的问题。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    相关资源
    最近更新 更多