ACCESS列表框多重选择问题

把列表框的多重选择设置为"简单"后,为什么保存不了数据?(多重选择"无"时,可以保存数据...)

你所谓的保存不了数据是什么意思?
多重选择状态下, 此控件的值等于你数据最后一个单击的值, 而不是你选择了多个值的集合追问

比如上图,选择了"老化"和"充电"点击保存之后,数据表保存不了其数据,表中"试验项目"那一栏是空的,,,,为什么会这样?

追答

你的保存记录按钮的代码是怎么写的?

追问

是从命令按扭向导里面做的,如下图:

按钮代码如下:


追答

其实你自己就可以测试这个多选的值是否正确
界面上多加一个文本框控件, 这个文本框的属性来源设为 =me![实验项目]
这样你在操作时候可以清楚的看到你点击或者多选后这个"实验项目"控件的实际值是什么

另外,多问一句, 你多选2个以上内容以后(比如选了 充电和老化), 你希望数据库字段里保存成什么值?

追问

测试不出来,是空白的...不用多重选择就可以测试出来...

字段里保存成  "  充电,老化  "


我是想做一个这样的数据库,如下

机种A的试实项目:  充电,老化

机种B的试实项目:  充电,高温存储

......

第款机种的试实项目都不一样的,试实项目又比较多..

追答

截图上我看不到你的"试验项目"列表框的列数和行来源

列表框有行和列的概念, 我的常用方法  

     Me![列表框].Column(0)  表示列表框最后点击的记录的第一列的值

     Me![列表框].Column(2,3)  表示列表框的第三列, 第三行的值  


GoToRecord  acNewRec 是系统提供的最基本最简单的新增记录方法,  你希望列表框多重选择后值用逗号间隔然后保存入数据表, 这句命令是实现不了的.

你要用遍历这个列表框拼接成内容文本串, 用update语句或者记录集的方式可以实现

追问

怎么用update语句或者记录集的方式可以实现?我是个新手..

追答

access将窗体绑定在数据表或者查询上进行数据管理, 是最简单最容易实现的方式, 功能局限也很大. 如果不够你用了你就要研究更进一步的方式了

你百度一下access的SQL语法, select 查询, insert into 新增, update 修改, delete 删除
另外在你的界面里, 还有对多重选择列表框的使用, 一般是遍历, 如何将列表框里选中的行加逗号分隔保存进数据表中, 和如何将"充电,老化"从数据表里读出来, 还原进列表框, 并使4项中的两项显示黑色被选中状态, 我简单写一下看你能不能看懂
For i = 0 To Me![试验项目].listcount - 1 '遍历列表框
If Me![试验项目].Selected(i) = True Then
Str1 = Str1 & "," & Me![试验项目].ItemData(i) & "' "

End If

Next
If Str1 "" Then Str1 = mid(Str1, 2) '这个时候Str1 就等于 "充电,老化"

温馨提示:答案为网友推荐,仅供参考
相似回答