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

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  问题:

  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)

  '先设定窗体的“键预览”属性为“是”

  '本过程将加快你的输入速度

  '如果按 ESCAPE 键,就关闭窗体

  If KeyCode = vbKeyEscape Then

  closeAllSelectForm "SelectForm"

  End If

  End Sub

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答