设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 9899|回复: 34
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-11-11 12:19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 红尘如烟 于 2010-11-11 12:20 编辑

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


表创建好之后,点主界面中的按钮,打开如下图所示的窗体:

其中的“标题”字段是向用户显示的信息,用于主界面中组合框、窗体标题及导出时的默认文件名;【查询数据源SQL】是查询时的记录来源,当表中有来自其它表的外键字段,如“员工表”中的“部门ID”字段,在查询时就需要转成对应的部门名称,而不是向最终用户直接显示部门ID,详细情况可参考示例文件。
上述信息添加编辑完成之后回到主界面,从组合框选择对应的项,这时就会自动加载数据列表(即通过“查询数据源SQL”取得的数据),对于简单的表,可以直接点击按钮来自动创建编辑窗体,然后就可以使用了,如下面的窗体就是自动创建的。

这里新增和修改是用的同一个窗体,使用的绑定窗体的方式,注意“确定”按钮在新增模式下是转到新记录,在编辑模式下是保存并关闭。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +10 收起 理由
5988143 + 10 精品文章

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-11-11 12:22:35 | 只看该作者
红尘的技术越来越 纯火炉青了,开始走向专业化 自动化了.

点击这里给我发消息

3#
发表于 2010-11-11 12:24:48 | 只看该作者
如果access支持动态创建控件,就可在MDE下动态创建就更好了
4#
 楼主| 发表于 2010-11-11 12:27:56 | 只看该作者
本帖最后由 红尘如烟 于 2010-11-11 12:30 编辑

老大也在呀
其实也算不上专业、自动化了,主要是我这人很懒,老想省事
本来一直就有这方面的想法,头两天见到一个网友的作品,近400个窗体,有近80%的都是新增窗体、修改窗体、查询窗体,我那个汗呀,感觉太恐怖了,于是有了这个示例中的想法
5#
 楼主| 发表于 2010-11-11 12:32:34 | 只看该作者
tmtony 发表于 2010-11-11 12:24
如果access支持动态创建控件,就可在MDE下动态创建就更好了

是呀,VB里面就可以实现,但Access中就实现不了,感觉这样的功能用处还是很大的,要不给Access开发组提提意见,看看能不能改进
6#
发表于 2010-11-11 13:41:43 | 只看该作者
我記得有位高手也有類似的作品~好像是acc 97的~
7#
发表于 2010-11-11 14:30:31 | 只看该作者
红尘如烟 发表于 2010-11-11 12:32
是呀,VB里面就可以实现,但Access中就实现不了,感觉这样的功能用处还是很大的,要不给Access开发组提提 ...

红尘老师:建议就是好!让ACCESS开发组修改后,大家都会受益!
8#
发表于 2010-11-11 16:40:35 | 只看该作者
谢谢分享
学历了
9#
发表于 2010-11-11 19:15:40 | 只看该作者
高明,谢谢~~~
10#
发表于 2010-11-12 04:44:47 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 04:38 , Processed in 0.170535 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表