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

原创 2004年02月09日 00:12:00

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

 

 

问题:

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

Private Sub List0_DblClick(Cancel As Integer)
    checkYouSelect
End Sub

Private Sub List0_KeyPress(KeyAscii As Integer)
    '本过程实现全键盘操作
    If KeyAscii = 13 Then
        checkYouSelect
    End If
End Sub

Sub closeAllSelectForm(strFormName As String)
    '通用过程1
    '本过程用来关闭所有的指定名称的窗体

    For Each objForm In Forms
        If objForm.Name = strFormName Then
            DoCmd.Close acForm, objForm.Name
        End If
    Next objForm
End Sub

Sub checkYouSelect()
    '通用过程2
    '检测你的选择
    '如果发现 suncount 列为 0(表示没有下一层了)
    '就可以把你选定的产品名称放到文本框中了

    On Error Resume Next
    Set f = New Form_SelectForm
    Dim objForm As Form
    If List0.Column(0) = 0 Then
        Forms("testform").Text0.Value = List0.Column(2)
        closeAllSelectForm "SelectForm"
    Else
        f.Visible = True
        f.List0.RowSource = "SELECT btype.soncount, btype.UserCode, btype.FullName, btype.typeId FROM btype WHERE parid='" & List0.Value & "'"
    End If
End Sub


详细示例程序请参考:
http://www.access911.net/index.asp?board=8&recordid=77FAB71E

 

http://access911.net 站长收藏

易语言保存组合框,和列表选择框数据到数据库

我知道你需要,所以我写了
  • fujialong520
  • fujialong520
  • 2014年07月07日 12:00
  • 1682

Ext 组合框的选择监听事件

listeners:{                 'select':function(combo, record, opts) {                     // alert(...
  • nbxinjian
  • nbxinjian
  • 2016年08月29日 14:13
  • 373

Access学习要点1----组合框值列表原理

今天要带本科的一门课,惭愧,现在从头开始学,新的东西,开这个系列的博客只是为了记录自己在摸索中的一些随笔,大神勿喷!!的 本来按照课本上应该学到了表的查阅和关系这个点的,也就是查阅向导问题,结果不知道...
  • u011292087
  • u011292087
  • 2017年05月11日 17:00
  • 353

如何处理大量数据高并发大流量并发操作方案

1、HTML静态化  效率最高、消耗最小的就是纯静态化的html页面,所以尽可能使网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,无法全部手...
  • wobaiwodedukuku
  • wobaiwodedukuku
  • 2016年09月01日 11:24
  • 1231

Access 新手来看:如何在表中达到用组合框选择备选项目的效果

Access 新手来看:如何在表中达到用组合框选择备选项目的效果 简述:如何在表中达到用组合框选择备选项目的效果  问题:这个范例就是ACCESS2002本身带有的ADDREESS表,其中,有个家庭成...
  • changechange
  • changechange
  • 2004年04月07日 16:26
  • 902

列表框和组合框的使用

列表框是显示一系列项供用户选择的控件,对选中的项可以进行后续的处理。用户选择可以是多项的,但本章的例程设计为单选的。组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进...
  • zeng622peng
  • zeng622peng
  • 2010年06月24日 15:21
  • 6277

组合框-----选中下拉列表中数据时所产生的事件

  应使用 CBN_SELCHANGE消息 该消息在用户改变列表框中选中的字符串时发生void CketangDlg::OnCbnSelchangeCombo2() { int ...
  • shuilan0066
  • shuilan0066
  • 2011年01月23日 21:30
  • 2304

hive如何应对数据倾斜

数据倾斜 概念:数据倾斜是指,map /reduce程序执行时,reduce节点大部分执行完毕,但是 有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一 ...
  • sunlei1980
  • sunlei1980
  • 2015年06月20日 11:01
  • 2807

web组合框的实现方法

由于html控件中没有组合框,所以web  组合框需要用特殊方法构造,当然构造方法有很多了:一、利用文本框与列表框叠加而成,这个需要用css的clip,用的较多,但是需要绝对定位,而且定位需要精确。二...
  • precipitant
  • precipitant
  • 2005年06月02日 12:09
  • 1965

MFC中获取组合框中元素的索引值

MFC中组合框控件的使用 分类: Windows(C/C++,MFC,C#) 2011-07-18 23:431254人阅读 评论(1)收藏 举报 mfc 由于是第一次使用组合框...
  • quchong10527
  • quchong10527
  • 2013年05月03日 23:33
  • 1229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:access 如何解决组合框无法满足大量数据的选择问题?
举报原因:
原因补充:

(最多只允许输入30个字)