访问列表框行源不通过VBA更新

时间:2014-08-24 20:55:06

标签: ms-access listbox

使用:MS-Access 2013; Windows 8.1专业版

我试图通过将VBA中的RowSource属性设置为SQL语句来更新Access中ListBox中的显示值。然而它不起作用。列表框不显示SQL的结果。

这是我的VBA代码:

Private Sub cmbStudent_Change()
  Dim s As Integer

  s = cmbStudent & ""

  ' cmbTerm is a ListBox

  cmbTerm.RowSourceType = "Table/Query"

  cmbTerm.RowSource = "SELECT DISTINCT Terms.TermID, Terms.TermName " & _
                      " FROM Terms " & _
                      " ORDER BY Terms.TermCode;"

   cmbTerm.Requery


End Sub

在cmbTerm.Requery之后,列表框仍为空,即。它没有从TERMS表中提取值。

没有使用RecordSet(ADODB.RecordSet)对象有什么方法可以使它工作吗?

enter image description here

提前感谢您提供任何有用的信息。

1 个答案:

答案 0 :(得分:0)

我一直有同样的问题,我必须通过将此代码放在最后来解决它。

Me.Listbox.RowSourceType = "Value List"
Me.Listbox.RowSourceType = "Table/Query"

注意我还必须将它放在声明RowSource的子上面。

因此RowSource位于由主RowSource

调用的子中