[英]Troubles with an MS-Access Listbox linked to a YES/NO type field
我有一個帶有2個列表框(list1和list2)的窗體,該窗體顯示2個YES / NO類型字段中的值。 在表上,字段數據由復選框表示,但在列表框中,它顯示為True / False
我也有2個帶有是和否值的組合框,用於填充/編輯表中的字段。
我正在嘗試編輯這種形式的VBA代碼,使兩個列表框(以及字段中的值)不能同時為true。 例如,如果用戶在combo1上選擇true,然后單擊save,則程序將檢查list2中的值,如果也為true,則顯示錯誤消息並退出子菜單。
我發現值實際上在列表框中保存為0和-1,但是我的問題是,即使更改表上的值,列表框的值也不會更改。 即,即使更改表字段中的值時True / False值一致變化,也不會更改0和1(通過將列表框上的值msgbox找出來),這使得在保存之前無法比較值。
我正在使用的代碼示例如下
...
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
...
(...表示此位前后有代碼)
萬一一個人后來遇到這個並且真的需要答案,這就是我解決這個問題的方法...
而不是使用list2.value屬性(請參閱有問題的代碼),我使用的是list.itemdata(0),它指向我的列表框的第一列
它就像一種魅力。
您是否檢查了列表框屬性值。 在“屬性”窗口上,然后選擇“數據”選項卡,您需要檢查以下屬性:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.