2012-10-03 151 views
1

我正在使用Access为SQL(Express 2012)数据库的快速和脏(ADP)接口,因此可以在MVC Web应用程序界面完成之前开始数据输入。Ms Access 2007组合框

有一个字段我想成为varchar,我希望这个字段允许用户输入一个值或从先前在该字段中使用的不同值列表中进行选择。

我有这个部分,但问题是当它发生时,我必须刷新记录集才能看到列表中的新项目,所以如果他们选择添加一条新记录,则添加的最后一个项目不可见在列表中。

因此,我可以得到不同的列表,填充框,允许新的条目,并将其保存到数据库,我必须编写一个代码来重新填充记录集,我是否需要编写代码保持列表与记录集平行,还是只有一个属性我失踪?

感谢

(由屏幕显示事件)enter image description here

+0

我相当肯定你将不得不重新查找组合框。 – Fionnuala

+0

在什么事件?我试图重新改变组合的形式,并保存,但似乎每次都会让我回到第一条记录,而不是我所在的位置。 – Sabre

+2

不要重新查询表格,只需重新查询组合:Me.MyCombo.Requery。最好的选择可能是当前事件或组合后更新事件。 – Fionnuala

回答

0

不要重新查询表格,只需重新查询组合。最好的选择可能是当前的事件,如果有多个人正在输入数据,那么这个事件将会起作用。如果人们正在编辑表格并输入数据,它也可以工作。仅在添加记录时触发的事件不会选取对组合内容的更改。

Private Sub Form_Current() 
    Me.MyCombo.Requery 
End Sub 
1

如上所述,使用窗体上的on current事件和after更新解决了问题。

单击表单部分详细信息选择了详细部分属性页而不是表单。从属性页面的下拉列表中选择表单显示我被建议使用的事件。

非常感谢那些贡献。

作为第一个建议是来自Remau,并协助从hansup找到该事件,我会将remau的帖子标记为答案。谢谢你们俩。