2012-09-11 144 views
0

我有一個包含組合框的Access 2000窗體。組合框綁定到表中的一個字段。當表中的值爲空時,我想在組合框上設置一個默認值而不使記錄變髒。除非它是新記錄,否則設置defaultValue不起作用。當我嘗試設置該值時,出現錯誤「您無法爲此對象分配值」。如何在Access 2000組合框中設置默認值

有什麼想法?

Me.cboName.Value =我!cboName.Value '這將導致上述

提到的錯誤Me.cboName.DefaultValue =我!cboName.Value' 這確實對既存記錄什麼。

+1

您如何看待此工作?如果記錄沒有變髒,價值將如何保存?爲什麼你想要一個值,如果它沒有保存? – Fionnuala

回答

0

創建新記錄時輸入DefaultValue。要爲現有記錄顯示值...我認爲完成此任務的最簡單方法是使用未綁定的控件。例如,如果您使用的字段是theName在當前情況下,你會使用這樣的代碼:

Private Sub Form_Current() 
    me.cboName.value = Nz(me.theName.value,defaultValue) 
End Sub 

如果默認值是您先前確定的默認值。這將有效地要求您爲該名稱設置兩個控件...一個帶有限制值,另一個帶有顯示值。如果你這樣做,當你改變cboName時,你還必須添加代碼來更新theName。正如Remou建議的那樣,你應該問自己這是否真的是你想要做的事情,因爲它肯定至少有點混亂。