Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

access 如何解决组合框无法满足大量数据的选择问题

时 间:2008-05-18 21:39:10
作 者:UMVsoft整理   ID:43  城市:江阴
摘 要: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)进行赋值。

Private 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中输入以下代码以完成多次打开窗体本身并显示子类中数据的功能。
为了能够使代码重复利用,写了两个通用过程

 

Option Compare Database
Dim f

private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   &nbs

Access软件网官方交流QQ群 (群号:483923997)       Access源码网店


专栏作家