2017-03-02 33 views
0

我有一個訪問窗體與ComboBox控件的附加recorset包含一個空值作爲其中一個行的索引,並設置爲顯示記錄集的第二列。訪問組合框中的空索引值

當我打開列表時,可以看到所有行,包括以Null作爲索引的行,並且我可以選擇它,但只要AfterUpdate事件結束,顯示的文本就會被刪除。

我想顯示Null的第二列,但我無法實現這一點。我想這是由於空等於沒有(甚至不是自己),但有沒有解決方法?數據庫的

例子:

Id  Description 
+------+-------------+ 
|  | Default  | 
|1  | Choice 1 | 
|2  | Choice 2 | 
. 
. 
. 

如果我選擇在ComboBox「默認」,該值正確設置爲空,但顯示的文本是空的。如果我選擇'選擇1'(或'選擇2'),該值被正確設置爲1(或2),並且組合框中的顯示值爲'選擇1'(或選擇2)。

編輯:由於兼容性的原因,解決方案必須與Access 2007

回答

0

您可以使用MyCombo.ListIndex = 0挑中的組合框的第一個值工作。 這不會從內存中設置值,但應顯示正確。

+0

不錯的想法,但我無法在AfterUpdate()事件和Change()事件中設置Listindex = 0。你把它放在哪裏? –

+0

其實這可能不是正確的屬性 - 嘗試Me.cboName = Me.cboName.Itemdata(0) - 對不起,我目前無法測試它。 – Minty

+0

有一個NULL對於一個ID是不好的做法。賦值爲零。如果你不能在底層表中做到這一點,那麼創建一個查詢並將查詢設置爲組合框的記錄源:查詢基本上將NZ([ID],0)作爲ID2。所以你的默認結果是ID = 0這應該解決你的問題。 –