使用: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)对象有什么方法可以使它工作吗?
提前感谢您提供任何有用的信息。
答案 0 :(得分:0)
我一直有同样的问题,我必须通过将此代码放在最后来解决它。
Me.Listbox.RowSourceType = "Value List"
Me.Listbox.RowSourceType = "Table/Query"
注意我还必须将它放在声明RowSource的子上面。
因此RowSource位于由主RowSource
调用的子中