Office中国论坛/Access中国论坛
标题: 如何在一个下拉框中同时选择多项? [打印本页]
作者: magicloud 时间: 2004-7-13 07:16
标题: 如何在一个下拉框中同时选择多项?
如何在一个下拉框中同时选择多项?
下拉框中共有 A.B......Z 的几十个选项,我现在只能选一项,不知道该怎样设置才能同时选几项。
比如:选择A,再选B,再O或其他这样,并在下拉框中显示出A.B.O这几项。
或者有没有其他的设置方法,能达到一次选择多项并显示选择结果。[attach]5398[/attach]
[此贴子已经被作者于2004-7-13 0:10:11编辑过]
作者: wanshan 时间: 2004-7-13 17:15
有一个稍微笨一点的办法:[attach]5405[/attach]
作者: zhengjialon 时间: 2004-7-13 17:35
这样的控件可能要用第三方的控件了,ACCESS内置的组合框没有这个功能的,列表框倒是可以这样的。不过楼上的方法倒是一个比较好的替代方法。
作者: magicloud 时间: 2004-7-14 02:28
二楼兄台的办法,我也曾想过,但可选项有几十项,而且内容的选择也是随意的,我不可能做几十个这样的选择框来选吧。而且到时候打印输出也是个问题。
有没有其他什么做法可以达到这个目的呢,选择多项后在一个框里依次显示出来,或打印时能依次打印也行。
三楼兄台您说列表框可以这样做?请问该怎样设呢。。我急呀。。但我又不熟,才第一次用。
第三方的软件又是什么呢,在哪下,能说明白些吗?
[此贴子已经被作者于2004-7-13 22:28:11编辑过]
作者: wanshan 时间: 2004-7-14 07:06
用列表框。。。
作者: sam_yuan 时间: 2004-7-15 00:22
[ 作者:cg1 转贴自:access911.net 点击数:1677 更新时间:2004-2-21 文章录入:cg1 ]
<TABLE cellSpacing=5 cellPadding=0 width=740 align=center border=0 break-all?>
<TR>
<TD vAlign=top height=200>
<TABLE cellSpacing=0 cellPadding=10 align=left border=0>
<TR>
<TD>
专题地址:http://access911.net/index.asp?board=4&recordid=71FAB71E11DCE8F3
简述:组合框无法满足大量数据的选择以及输入工作,本文就介绍用自编程方法实现更快捷地选取输入数据地方法。
问题:
<TABLE width="100%">
<TR>
<TD width=22>
Access里面有组合框,可以很快地从多行记录中选择所需要的数据。但是如果记录超过1000-2000呢?选择就非常不方便了。我该怎么办?
回答:
<DIV>
其实很多数据都可以分类(分层)来选择,而且我们可以预先筛选数据。
以下这个示例就是用重复打开同一个窗体类来完成多层次数据的选择。
当然,还包括预先筛选数据功能。
在阅读本文前请先参考:
《新手来看:如何设计表结构便于treeview显示?》
http://access911.net/index.asp?board=4&recordid=75FABE1E12DC
一文,以了解如何定义数据表结构可以方便的分类并显示。
并阅读:
《如何将一个窗体重复打开2遍,并且每一遍打开的窗体显示不同的数据?》
http://access911.net/index.asp?board=4&recordid=72FAB11E15DC
一文,以了解 ACCESS 中一个 FORM 其实就是一个类
好了,现在开始:
1、建立一个窗体(testForm),里面有一个文本框(text0),一个按钮(Command2)。
2、建立一个窗体(selectForm),里面有一个列表框(list0)。
3、在testForm中的文本框的“更新后”事件中写入以下代码以打开品名选择窗体(selectForm),并对其中的列表框(list0)的行来源(RowSource)进行赋值。
<TABLE cellSpacing=1 cellPadding=5 100%?>
<TR>
<TD width="100%" none? TEXT-DECORATION: #f2f2f2; BACKGROUND-COLOR: solid; 1px #81a9e8 BORDER-BOTTOM: 10px; PADDING-TOP: #00284d; COLOR: BORDER-LEFT: PADDING-BOTTOM: PADDING-LEFT: 0px; MARGIN-TOP: BORDER-TOP: PADDING-RIGHT:>rivate Sub Text0_AfterUpdate()
DoCmd.OpenForm "selectform"
'这行代码就实现了BTYPE表的模糊检索,使用的是 WHERE 子句中的 LIKE 关键字进行通配
Forms("selectform").List0.RowSource = "SELECT btype.soncount, btype.UserCode, btype.FullName, btype.typeId FROM btype WHERE btype.fullname like '*" & Text0.Value & "*' "
End Sub
4、在testForm中的命令按钮的“单击”事件中写入以下代码以打开品名选择窗体,按分类检索
5、然后再在testForm中输入以下代码以完成多次打开窗体本身并显示子类中数据的功能。
为了能够使代码重复利用,写了两个通用过程
<TABLE cellSpacing=1 cellPadding=5 100%?>
<TR>
<TD width="100%" none? TEXT-DECORATION: #f2f2f2; BACKGROUND-COLOR: solid; 1px #81a9e8 BORDER-BOTTOM: 10px; PADDING-TOP: #00284d; COLOR: BORDER-LEFT: PADDING-BOTTOM: PADDING-LEFT: 0px; MARGIN-TOP: BORDER-TOP: PADDING-RIGHT:>Option Compare Database
Dim f
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'先设定窗体的“键预览”属性为“是”
'本过程将加快你的输入速度
'如果按 ESCAPE 键,就关闭窗体
If KeyCode = vbKe
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |