我有一個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
...
(在...意味着有碼該位之前和之後)
我有點困惑,爲什麼你需要兩個列表框控件*和*兩個組合框控件。正常的UI設計應該是由複選框控件表示的是/否字段。如果你真的想要使用「True/False」或「Yes/No」組合框控件,那麼這很好,但是List Box控件的用途是什麼? –
@GordThompson我使用列表框來保存表格的查詢,從而顯示特定項目的yes/no字段。使用複選框不允許我使用查詢(或者,也許我不知道如何) – user3041384
@GordThompson我不知道這是否允許在這裏,但有沒有辦法我可以聯繫你?想解釋我爲你創建的系統,這樣你就可以告訴我你將如何做到這一點。 (看到我使用的兩種列表框方法令人費解) – user3041384