Office中国论坛/Access中国论坛

标题: 【源码示例】思路探讨:使用更简单的数据维护功能(增、改、删、查、导出) [打印本页]

作者: 红尘如烟    时间: 2010-11-11 12:19
标题: 【源码示例】思路探讨:使用更简单的数据维护功能(增、改、删、查、导出)
本帖最后由 红尘如烟 于 2010-11-11 12:20 编辑

        在Access中,数据的新增、修改、删除、查询、导出功能占据了很大一部分比重,而一个实用的管理信息系统,又必然会有权限管理上的需要。因此只好对每个表建立单独的新增窗体、单独的修改窗体、单独的查询窗体等等。这样下来,当表比较多的时候,就需要创建很多窗体,而实际上这些窗体除了记录来源表及字段不一样之外,其它的几乎完全相同,因此就造成了大量的重复劳动,而且不便于维护。
        我们使用Access,主要的原因就是它使用上的相对简单、快速开发的高效率、使用成本低等。如果这些优势体现不出来,我想还不如去使用VB、VC、Delphi等专业的开发工具,至少能生成可执行文件,不需要依赖运行环境。
     在不对功能进行任何缩减的前提下,更简单、便捷、高效的开发是我们的追求的目标。基于这样的思想,于是有了这样一个示例。当然这仅仅是一个思路,并且还不完善,只希望起到抛砖引玉的作用,朋友们有什么好的思路之类,拿出来大家交流一下嘛!^_^
    说的就是你!不要以为老潜水就发现不了你!!
    界面如下图所示:
[attach]44083[/attach]

表创建好之后,点主界面中的[attach]44080[/attach]按钮,打开如下图所示的窗体:
[attach]44084[/attach]
其中的“标题”字段是向用户显示的信息,用于主界面中组合框、窗体标题及导出时的默认文件名;【查询数据源SQL】是查询时的记录来源,当表中有来自其它表的外键字段,如“员工表”中的“部门ID”字段,在查询时就需要转成对应的部门名称,而不是向最终用户直接显示部门ID,详细情况可参考示例文件。
上述信息添加编辑完成之后回到主界面,从组合框选择对应的项,这时就会自动加载数据列表(即通过“查询数据源SQL”取得的数据),对于简单的表,可以直接点击[attach]44081[/attach]按钮来自动创建编辑窗体,然后就可以使用了,如下面的窗体就是自动创建的。
[attach]44082[/attach]
这里新增和修改是用的同一个窗体,使用的绑定窗体的方式,注意“确定”按钮在新增模式下是转到新记录,在编辑模式下是保存并关闭。

对象说明:
tblDataList        存放每个基础数据表对应的信息
qryDataListTemp    用于查询功能的临时查询对象
frmDataFilter      数据筛选器(通用查询功能)
frmDataList        用于对tblDataList的数据进行编辑
frmMain            数据增、改、删、查、导出功能实现并使用的主界面窗体
modData            通用处理函数之类
注意:表中必须要有一个字段名为ID的自动编号字段,主要用于修改功能的定位筛选。在该示例中,除了比较复杂的窗体,不需要写任何代码甚至都不需要手动去创建窗体,只要将表创建好了,便可轻松实现常规的数据增、改、删、查、导出功能。
[attach]44085[/attach]

作者: tmtony    时间: 2010-11-11 12:22
红尘的技术越来越 纯火炉青了,开始走向专业化 自动化了.
作者: tmtony    时间: 2010-11-11 12:24
如果access支持动态创建控件,就可在MDE下动态创建就更好了
作者: 红尘如烟    时间: 2010-11-11 12:27
本帖最后由 红尘如烟 于 2010-11-11 12:30 编辑

老大也在呀
其实也算不上专业、自动化了,主要是我这人很懒,老想省事
本来一直就有这方面的想法,头两天见到一个网友的作品,近400个窗体,有近80%的都是新增窗体、修改窗体、查询窗体,我那个汗呀,感觉太恐怖了,于是有了这个示例中的想法

作者: 红尘如烟    时间: 2010-11-11 12:32
tmtony 发表于 2010-11-11 12:24
如果access支持动态创建控件,就可在MDE下动态创建就更好了

是呀,VB里面就可以实现,但Access中就实现不了,感觉这样的功能用处还是很大的,要不给Access开发组提提意见,看看能不能改进
作者: 5988143    时间: 2010-11-11 13:41
我記得有位高手也有類似的作品~好像是acc 97的~

作者: yanwei82123300    时间: 2010-11-11 14:30
红尘如烟 发表于 2010-11-11 12:32
是呀,VB里面就可以实现,但Access中就实现不了,感觉这样的功能用处还是很大的,要不给Access开发组提提 ...

红尘老师:建议就是好!让ACCESS开发组修改后,大家都会受益!
作者: xuwenning    时间: 2010-11-11 16:40
谢谢分享
学历了
作者: iamee    时间: 2010-11-11 19:15
高明,谢谢~~~
作者: li08hua    时间: 2010-11-12 04:44

作者: t小宝    时间: 2010-11-13 11:48
这是个值得研究的课题,我曾经也有个类似的半拉子工程,不过 通用性 与 灵活性和效率 比较难统一。
作者: ycxchen    时间: 2010-11-14 15:01
学习红尘如烟的大作!
作者: dzh-1976    时间: 2010-11-14 22:40
支持这种模块化开发方式。
作者: 封利是    时间: 2010-11-15 13:09
进来学习呢。
作者: fnsmydyang    时间: 2010-11-15 19:39
学习了,红尘佳作,
作者: sbsfhgl    时间: 2010-11-20 20:33

作者: termisss    时间: 2010-11-22 09:52
上班之余,来逛逛论坛.
作者: szyuer    时间: 2010-12-8 19:40
谢谢,学习一下...
作者: szyewj    时间: 2011-5-11 00:13
高明,谢谢~~
作者: LMYLYT    时间: 2011-6-6 17:46
非常感谢
作者: oyesky    时间: 2011-6-8 11:30
下载了
作者: oyesky    时间: 2011-6-8 11:42
学习
作者: gcxdsh    时间: 2011-6-8 13:16
学习一下
作者: purplerose    时间: 2015-7-25 21:18
这种方法不错,高手就是不一样,思路清晰
作者: changxing    时间: 2016-8-26 09:23
谢谢分享
作者: liuqi67    时间: 2016-9-28 10:22
好东西,收藏学习!
作者: zongq326    时间: 2016-12-29 20:07
支持,顶一个。

作者: zongq326    时间: 2016-12-29 20:08
谢谢分享。
作者: 土豆的爱    时间: 2017-3-17 16:25
高手在民间,学习了
作者: shixm_1    时间: 2017-5-1 22:23
学习了
作者: Nova18    时间: 2018-1-15 15:06
谢谢分享
作者: 390012370    时间: 2024-1-7 18:49
红尘的技术越来越 纯火炉青了,开始走向专业化 自动化了.
作者: 390012370    时间: 2024-1-20 07:34
好东西,收藏学习!
作者: liufeng    时间: 2024-1-27 09:52
aaa
作者: 390012370    时间: 2024-2-1 12:39
多谢分享!学习学习!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3