2014-02-05 37 views
0

我有一個2列表框(列表1和列表2)的窗體,顯示2 YES/NO類型字段的值。在表格中,字段數據由複選框表示,但在列表框中顯示爲True/False
我還有2個組合框包含Yes和No值,用於填充/編輯表中的字段。與MS-Access列表框鏈接到YES/NO類型字段的問題

我試圖編輯這種形式的VBA代碼,使得2個列表框(和字段中的值)不能同時爲真。即如果用戶在combo1上選擇了true並點擊保存,程序將檢查list2中的值,如果它也是true,則顯示一條錯誤消息並退出sub。

我發現這些值實際上在列表框中保存爲0和-1,但我的問題是即使在更改表上的值後,列表框的值也不會更改。即使當表格字段的值改變時真/假值改變時,0和1的值也不會改變(通過msgboxing列表框中的值發現這一點),並且這使得在保存之前不可能比較值。

我使用的代碼的下面是一個例子

... 

List2.Requery 
'MsgBox List2 

'MsgBox Combo1 
If Combo1 = "True" And List2.Value = "-1" Then 
MsgBox "List1 and List2 cannot be TRUE at the same time. Please adjust or cancel edit"  
Exit Sub 
Else 
myr.Edit 
myr![Y/Nfield] = Combo1 
myr.Update 


Set myr = Nothing 'Close the recordeset 


End If 

... 

(在...意味着有碼該位之前和之後)

+1

我有點困惑,爲什麼你需要兩個列表框控件*和*兩個組合框控件。正常的UI設計應該是由複選框控件表示的是/否字段。如果你真的想要使用「True/False」或「Yes/No」組合框控件,那麼這很好,但是List Box控件的用途是什麼? –

+0

@GordThompson我使用列表框來保存表格的查詢,從而顯示特定項目的yes/no字段。使用複選框不允許我使用查詢(或者,也許我不知道如何) – user3041384

+0

@GordThompson我不知道這是否允許在這裏,但有沒有辦法我可以聯繫你?想解釋我爲你創建的系統,這樣你就可以告訴我你將如何做到這一點。 (看到我使用的兩種列表框方法令人費解) – user3041384

回答

1

只是櫃麪人來此以後,真正需要回答以下是我解決了這個充滿你的表你列索引...

而不是使用list2.value屬性(參照問題代碼)我用list.itemdata(0),它指向我的列表框

的第一列和它的工作就像一個魅力。

+0

感謝您花時間發佈您的解決方案。 –

+0

@GordThompson不客氣。很高興能貢獻 – user3041384

0

你檢查你的列表框屬性的值。 在屬性窗口,然後選擇數據選項卡,您需要檢查以下屬性:

  1. 行來源類型,應該是表/查詢
  2. 行來源,應該充滿你相應的表名
  3. 綁定列,應該是要查看在列表框
+0

是所有這些都被檢查 – user3041384

+0

在更新表格後,您是否刷新了表單? –

+0

不......我只是在查詢列表框 – user3041384