Vba 组合框的最后一个值保持激活状态,即使.removietem已将其删除
我遇到过这样一种情况,combobox的最后一个值即使已通过VBA删除,也会保留在屏幕上 我在用这个方法Vba 组合框的最后一个值保持激活状态,即使.removietem已将其删除,vba,ms-access-2007,Vba,Ms Access 2007,我遇到过这样一种情况,combobox的最后一个值即使已通过VBA删除,也会保留在屏幕上 我在用这个方法 cboBox.Removeitem "Drafter" 但这是我将看到的 我试过cboBox。之后再询问,但运气不好 任何帮助都将不胜感激。谢谢 更新: 我尝试将组合框的源类型从值列表更改为表/查询,并在值更新后重新查询。同样的问题也存在。Access现在似乎已将Drafter设置为默认值 即使从列表中删除了基础项,组合框仍保留其.Value。这就是为什么即使从下拉列表部分删除它,它仍然显
cboBox.Removeitem "Drafter"
但这是我将看到的
我试过cboBox。之后再询问,但运气不好
任何帮助都将不胜感激。谢谢
更新:
我尝试将组合框的源类型从值列表更改为表/查询,并在值更新后重新查询。同样的问题也存在。Access现在似乎已将Drafter设置为默认值 即使从列表中删除了基础项,组合框仍保留其.Value。这就是为什么即使从下拉列表部分删除它,它仍然显示在控件的顶部文本框部分。你可以试试这个:
将项目设置为字符串移动
itemToRemove=起草人
Me.cboBox.removietem项目删除
如果Me.cboBox.Value=itemToRemove,则
Me.cboBox.Value=Null
如果结束
在MS Access中,填充组合框或列表框的常用方法是使用SQL语句。好吧,我可以填充它,没有问题,但我尝试将它保留为未绑定控件。感谢使用SQL填充控件不会绑定它,它只会使生活更简单。我使用记录集添加到组合框中。如do while not Recordset.EOF。。。cboBox.addItemRecordset.value.MoveNext循环。etc.Me.SomeControl.RowSouce=选择ID,SomeDate FROM SomeTable,其中This='That'很好,这个解决方案有效!由于我将列表框更改为sourcefromtable/query,而不是使用.removietem x方法,所以我只使用.requery。谢谢你的帮助!