【问题标题】:Unbound Combo box: Selected text not showing未绑定组合框:所选文本未显示
【发布时间】:2016-06-06 10:44:31
【问题描述】:

我有一个未绑定的组合框,我在表单加载时填充它。我想要的是当用户选择组合框文本时,我应该能够访问它的值。在这种情况下,选定的项目文本在选择时会消失,但我可以访问它的值。下面是组合框设置。我应该怎么做才能使组合框显示选定的文本,同时我应该能够访问选定的值?

ID Process
1 a
2 b
3 c
  • 列数 - 2
  • 列宽 - 0",1"
  • 行源类型 - 表/查询

    Private Sub Form_Load()
    
    Dim strSQL As String
    strSQL = "Select ID as F1 ,  process_name as F2 from tblProcess"
    
    Set objRecordset = New ADODB.Recordset
    objRecordset.Open strSQL, objConnection, adOpenKeyset, adLockOptimistic
    
    If Not (objRecordset.EOF And objRecordset.BOF) Then
        Set Me.cmbProcess.Recordset = objRecordset
    End If
    
    objRecordset.Close
    Set objRecordset = Nothing
    End Sub
    

选择后出现组合框

组合框属性

【问题讨论】:

  • 更改组合框的颜色属性:背景颜色和/或前景色。
  • 我试过改变颜色,但它是一样的。当我在选择后尝试访问组合框的值和文本时......“(Form_frmAudit.cmbProcess.Text)”文本返回空字符串,而值“(Form_frmAudit.cmbProcess.value)”返回正确值。
  • 您是在谈论用户看到的内容还是组合的.Text 属性返回的内容?
  • 用户看到的和 .text 属性都是空字符串。
  • 不要将ADO Recordset 分配为组合的Recordset,而是创建一个传递查询来获取相同的数据并将该查询用作组合行源。

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


【解决方案1】:

如果您跳过整个 objRecordset 代码块,而是在定义 strSQL 之后插入行,它是否可以正常工作:

Me.cmbProcess.RecordSource = strSQL

【讨论】:

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