access如何解决组合框无法满足大量数据的选择问题?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了access如何解决组合框无法满足大量数据的选择问题?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2950字,纯文字阅读大概需要5分钟。
内容图文
问题 : Access里面有 组合 框,可以很快地从多行记录中 选择 所需要的 数据 。但是如果记录超过1000-2000呢? 选择 就非常不方便了。我该怎么办? 回答: 其实很多 数据 都可以分类(分层)来 选择 ,而且我们可以预先筛选 数据 。 以下这个示例就是用重复
问题:
Access里面有组合框,可以很快地从多行记录中选择所需要的数据。但是如果记录超过1000-2000呢?选择就非常不方便了。我该怎么办?
回答:
其实很多数据都可以分类(分层)来选择,而且我们可以预先筛选数据。
以下这个示例就是用重复打开同一个窗体类来完成多层次数据的选择。
当然,还包括预先筛选数据功能。
在阅读本文前请先参考:
《新手来看:如何设计表结构便于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)进行赋值。
PrivateSubText0_AfterUpdate()
DoCmd.OpenForm"selectform"
'这行代码就实现了BTYPE表的模糊检索,使用的是WHERE子句中的LIKE关键字进行通配
Forms("selectform").List0.RowSource="SELECTbtype.soncount,btype.UserCode,btype.FullName,btype.typeIdFROMbtypeWHEREbtype.fullnamelike'*"&Text0.Value&"*'"
EndSub
4、在testForm中的命令按钮的“单击”事件中写入以下代码以打开品名选择窗体,按分类检索
5、然后再在testForm中输入以下代码以完成多次打开窗体本身并显示子类中数据的功能。
为了能够使代码重复利用,写了两个通用过程
OptionCompareDatabase
Dimf
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
'先设定窗体的“键预览”属性为“是”
'本过程将加快你的输入速度
'如果按ESCAPE键,就关闭窗体
IfKeyCode=vbKeyEscapeThen
closeAllSelectForm"SelectForm"
EndIf
EndSub
PrivateSubList0_DblClick(CancelAsInteger)
checkYouSelect
EndSub
PrivateSubList0_KeyPress(KeyAsciiAsInteger)
'本过程实现全键盘操作
IfKeyAscii=13Then
checkYouSelect
EndIf
EndSub
SubcloseAllSelectForm(strFormNameAsString)
'通用过程1
'本过程用来关闭所有的指定名称的窗体
ForEachobjFormInForms
IfobjForm.Name=strFormNameThen
DoCmd.CloseacForm,objForm.Name
EndIf
NextobjForm
EndSub
SubcheckYouSelect()
'通用过程2
'检测你的选择
'如果发现suncount列为0(表示没有下一层了)
'就可以把你选定的产品名称放到文本框中了
OnErrorResumeNext
Setf=NewForm_SelectForm
DimobjFormAsForm
IfList0.Column(0)=0Then
Forms("testform").Text0.Value=List0.Column(2)
closeAllSelectForm"SelectForm"
Else
f.Visible=True
f.List0.RowSource="SELECTbtype.soncount,btype.UserCode,btype.FullName,btype.typeIdFROMbtypeWHEREparid='"&List0.Value&"'"
EndIf
EndSub
内容总结
以上是互联网集市为您收集整理的access如何解决组合框无法满足大量数据的选择问题?全部内容,希望文章能够帮你解决access如何解决组合框无法满足大量数据的选择问题?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。