Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 如何使用 Windows ..
  • Access计时器Time..
  • 防止编辑记录时因误操作修改..
  • 一个让你心动的窗体模板(+..
  • Access窗体实现数量乘..
  • 最简单的自动调整程序窗口的..

最新文章

  • Access动态修改子窗体..
  • 窗体属性 弹出方式、模式和..
  • Access实现任意文本框..
  • Access引用是变量的控..
  • Access添加图片删除图..
  • Access子窗体控件绑定..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > 界面/窗体/控件
界面/窗体/控件

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

 

专题地址:

http://access911.net/index.asp?board=4&recordid=71FAB71E11DCE8F3

 

简述:

组合框无法满足大量数据的选择以及输入工作,本文就介绍用自编程方法实现更快捷地选取输入数据地方法。

 

 

问题:

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

 

access911.net 系列资料 如需转载请注明本站链接

 

适用环境:

access 2000
access XP

 

关键字:

输入,大量,组合框  >>>

 

 
 
相关文章
    access数据库 没有手动相关文章
    access数据库 如何把文本字段的输入法模式全部关掉?不要手动
 
评论
    access数据库 没有相关评论
    access数据库 查看或发表更多的评论,请单击这里。
 

发布人:cg1-access911.net  
分享到:
点击次数:  更新时间:2004-02-21 20:37:11  【打印此页】  【关闭】
上一条:怎样取得一个字符串在另外一个字符串中出现的次数?  下一条:改变数据来源来实现不同目的的统计分析



相关文章

  • • Access动态修改子窗体的默认值
  • • 窗体属性 弹出方式、模式和代码acDialog模式的区别
  • • Access实现任意文本框的字符插入
  • • Access引用是变量的控件
  • • Access添加图片删除图片和更改图片
  • • Access子窗体控件绑定其他Access对象
  • • Access子窗体页面上下翻动
  • • 根据当前屏幕分辨率自动设置Access主窗体大小及居中显示

热门文章

  • [2009-02-09] 屏蔽Access2003主窗体中的关闭按钮方法access数据库
  • [2013-07-19] Web Service在Access中的应用技巧access数据库
  • [2009-10-31] 窗体类中慎用Option Explicitaccess数据库
  • [2005-02-04] Access获取窗体在记录跳转时触发了多少个事件access数据库
  • [2008-06-27] Access连续窗体的滚动问题access数据库
  • [2008-12-26] 如何删除子窗体内容access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn