MS Access中填充ComboBox后下拉列表为空问题求助
ComboBox下拉列表为空的排查与解决方法
你在Access窗体加载时使用以下代码填充员工姓名ComboBox,但下拉列表为空:
Private Sub Form_Load() Me.cmbboxStaffName.RowSource = "SELECT StaffName FROM tblStaff WHERE Employed = True;" End Sub
可以按以下步骤排查解决:
- 验证SQL语句有效性:打开Access查询设计窗口,粘贴
SELECT StaffName FROM tblStaff WHERE Employed = True;并运行。如果无返回结果,说明要么tblStaff中没有Employed为True的记录,要么字段类型不匹配(比如Employed是文本型的话,需要写成Employed = 'True')。 - 检查ComboBox核心属性:
- 确认
RowSourceType属性设置为表/查询,若设为“值列表”或其他类型,SQL语句无法生效。 - 确保
ColumnCount属性值≥1,否则不会显示列内容。 - 检查
Visible和Enabled属性是否为True,避免控件不可见或禁用。
- 确认
- 手动触发控件刷新:设置
RowSource后添加Requery强制刷新数据,修改代码如下:Private Sub Form_Load() Me.cmbboxStaffName.RowSource = "SELECT StaffName FROM tblStaff WHERE Employed = True;" Me.cmbboxStaffName.Requery End Sub - 核对表和字段名拼写:确认
tblStaff表名、StaffName及Employed字段名与数据库中实际名称完全一致,若名称带空格需用方括号包裹(如[Staff Name])。 - 检查数据库权限:若为共享数据库,确认当前用户拥有
tblStaff表的读取权限,无权限会导致无法读取数据。
内容的提问来源于stack exchange,提问作者Azamact
相关产品推荐
相关产品推荐

