Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 组合框的最后一个值保持激活状态,即使.removietem已将其删除_Vba_Ms Access 2007 - Fatal编程技术网

Vba 组合框的最后一个值保持激活状态,即使.removietem已将其删除

Vba 组合框的最后一个值保持激活状态,即使.removietem已将其删除,vba,ms-access-2007,Vba,Ms Access 2007,我遇到过这样一种情况,combobox的最后一个值即使已通过VBA删除,也会保留在屏幕上 我在用这个方法 cboBox.Removeitem "Drafter" 但这是我将看到的 我试过cboBox。之后再询问,但运气不好 任何帮助都将不胜感激。谢谢 更新: 我尝试将组合框的源类型从值列表更改为表/查询,并在值更新后重新查询。同样的问题也存在。Access现在似乎已将Drafter设置为默认值 即使从列表中删除了基础项,组合框仍保留其.Value。这就是为什么即使从下拉列表部分删除它,它仍然显

我遇到过这样一种情况,combobox的最后一个值即使已通过VBA删除,也会保留在屏幕上

我在用这个方法

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。谢谢你的帮助!