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开发编程

热门文章

  • Access利用汉字拼音首..
  • 利用GetObject("..
  • 导出access查询或者A..
  • 数字转英文的多种实现方法
  • 自定义函数 - 字段字符串..
  • 【通用函数】Access判..

最新文章

  • Access利用汉字拼音首..
  • Access中关于VBA的..
  • Access动态更改列名
  • 非ACCESS环境处理空值..
  • 导出access查询或者A..
  • Access引用类库操作源..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > 模块/函数/VBA/API/系统 > 模块/类模块
模块/类模块

Access多层架构入门一- CurrentProject与CodeProject的区别

Access多层架构入门一- CurrentProject与CodeProject的区别

当使用Access开发中大型应用系统时,就必须要将一个数据库文件(mdb或accdb)拆开成2层或多层的结构,特别是类似MRP,ERP这种大型的项目,一个数据库文件里的对象和窗体 模块等就可能超1000个,有时会达到几千个甚至 上万,这时,多层架构势在必行。

但要实现多层架构,就必须先了解CurrentProject与CodeProject的区别, 像我们的Access通用开发平台,就是使用2层架构,而我们开发的Access MRP ,Access ERP,就是使用多层架构。

今天我们就来先讲一下多层架构的入门篇


'===============================================================----Access中国-------

'-技巧名称:         CurrentProject与CodeProject的区别

'-技巧描述:         CurrentProject与CodeProject的区别

'-相关引用:         

'-使用注意:         

'-兼 容 性:         97,2000,XP 2003 compatible

'-参考资料:

'-作    者:         王宇虹(tmtony)  修改:王宇虹(tmtony)  tmtony@21cn.com

'-创建日期:         2004-06-21  更新日期: 

'-技巧来源:     Access中国/Office中国 bbs.office-cn.net 

'====================================================================================

'Access中国/Office中国版权所有 http://www.office-cn.net 摘录请保留上面版权申明

'====================================================================================



问题简述:

好像CurrentProject与CodeProject的功能很类似, 没有什么区别,那为什么要设置两个对像呢?

解决办法:

“CurrentProject 对象引用了当前 Microsoft Access 项目(.adp)或 Access 数据库(.mdb)的项目。CurrentProject 对象具有几个集合,其中包含了当前数据库中的特定 AccessObject 对象。”



“CodeProject 对象引用一个 Microsoft Access 项目(.adp)或 Access 数据库(.mdb)的代码数据库的项目。CodeProject 对象具有几个集合,其中包含了代码数据库中的特定 AccessObject 对象。”



CurrentProject是指当前的数据库或项目,

CodeProject则是指当前的代码数据库或项目,是指代码所在的数据库或项目。

举个例子:

例如两个MDB,tmtony.mdb引用了tmtony1.mdb, 如果tmtony1.mdb有个公共函数FuncTest

那么运行tmtony.mdb时, FuncTest的CurrentProject就是tmtony.mdb 而CodeProject就是tmtony1.mdb

做了个实例:



如果没有引用到,请手工引用

运行tmtony.mdb 点击测试即可看到效果

专家点评:

这种方法能够实现多层MDE引用,大大加强大的应用系统分模块组合开发的情况,可将各个功能分散到各个MDE,然后各个MDE再组合一个更强大的系统,由主程序统一调用.我们现在的ERP系统就是使用这种方法来搭建起来的.




access数据库 v6ot4JLJ.rar (36.59 KB, 下载次数: 8) 


官方的解释

“CurrentProject 对象引用了当前 Microsoft Access 项目(.adp)或 Access 数据库(.mdb)的项目。CurrentProject 对象具有几个集合,其中包含了当前数据库中的特定 AccessObject 对象。”

“CodeProject 对象引用一个 Microsoft Access 项目(.adp)或 Access 数据库(.mdb)的代码数据库的项目。CodeProject 对象具有几个集合,其中包含了代码数据库中的特定 AccessObject 对象。”

从这两句比较:CurrentProject是指当前数据库或项目,而CodeProject则是指代码数据库。代码数据库应是指对数据库进行拆分后包含代码的那一部份。


我们的示例文件解释:

从字面上理解:
CurrentProject 应该是指当前工程(最上面一层的工程)
CodeProject 应该是指代码工程(即引用的MDE它代码所在的工程)


示例里面包含两个MDB

    多层架构.jpg


tmtony.mdb引用了tmtony1.mdb, 如果没有引用到,请手工引用
运行tmtony.mdb 点击测试即可看到效果


如果1.mdb这个窗体与2.mdb中的窗体不重名的话,可直接使用

docmd.openform "此窗体名"

如果重名的话,需要先在1.mdb建立一个公共函数叫 myOpenform(rstrFormName as string)

内容为  docmd.openform rstrFormName 



然后在2.mdb要打开此窗体,就使用

myOpenform "此窗体名"

这是我研究很久才无意想到的办法,非常管用.

1.mdb中的对象与2.mdb中对象的关系非常有意思,我已经研究了近三年,但发现还有不少功能待发掘,实现出来的效果很有模块化 或类似vfp中的类继承之类的味道.


更专业系统的Access多层架构培训可参看我们Access顶级培训中的内容:

http://www.office-cn.net/t/pro/index.html?accesstop.htm


发布人:zstmtony  
分享到:
点击次数:  更新时间:2016-12-06 22:00:29  【打印此页】  【关闭】
上一条:Access使用 SqlServer ODBC链接表如何筛选值列表  下一条:人事系统中计算员工工龄



相关文章

  • • Access利用汉字拼音首字母筛选组合框的值
  • • Access中关于VBA的窗体模块、标准模块、类模块的认识
  • • Access动态更改列名
  • • 非ACCESS环境处理空值——自定义NZ函数
  • • 导出access查询或者Access表到指定excel表
  • • Access引用类库操作源码实例
  • • Access支持对ADO记录集进行多列查找
  • • 自定义函数 - 字段字符串聚合连接函数 DCONCAT

热门文章

  • [2017-04-11] 获取系统闲置了多久(用户多久没有操作)access数据库
  • [2017-06-24] 自定义函数 - 字段字符串聚合连接函数 DCONCATaccess数据库
  • [2017-02-20] Access 数据表 Form.DatasheetFontHeight属性access数据库
  • [2017-06-20] Access类模块与模块的异同access数据库
  • [2017-01-16] 创建表字段的说明属性和标题属性access数据库
  • [2016-12-06] Access多层架构入门一- CurrentProject与CodeProject的区别access数据库

热门产品

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

Access交流网 版权所有 1999-2018 粤ICP备10043721号

QQ:18449932

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

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

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