我有一个Access 2000表单,其中包含一个组合框。组合框绑定到表中的字段。当表中的值为null时,我希望在不使记录变脏的情况下在组合框上设置一个默认值。除非是新记录,否则设置defaultValue无效。当我尝试设置该值时,我会收到一个错误"您不能将值分配给此对象"。
有什么想法吗?
Me.cboName.Value=Me!cboName.Value'这会导致上面提到的错误
Me.cboName.DefaultValue=Me!cboName.Value'这对现有记录不起任何作用。
创建新记录时会输入DefaultValue。要显示现有记录的值。。。我能想到的最简单的方法就是使用一个未绑定的控件。例如,如果您使用的字段是当前事件中的名称,则您将使用如下代码:
Private Sub Form_Current()
me.cboName.value = Nz(me.theName.value,defaultValue)
End Sub
其中defaultValue是先前确定的默认值。这将有效地要求您对名称有两个控件。。。一个具有绑定值,另一个具有显示值。如果这样做,那么在更改cboName
时,还必须添加代码来更新theName
。
正如雷莫建议的那样,你应该问问自己这是否真的是你想做的,因为这肯定至少有点混乱。