访问 97 个数据库

Posted

技术标签:

【中文标题】访问 97 个数据库【英文标题】:Access 97 databases 【发布时间】:2011-08-16 17:22:23 【问题描述】:

有人告诉我,如果我打开 Access 97,整个系统或至少大部分系统都在某个数据库中。这是真的吗?例如,如果我将一些 VB 代码写入其中,则整个代码都在某个数据库中。我之前以为只有我从 SQL 获取的数据在某个数据库中。

【问题讨论】:

Access 是一个基于文件的数据库,与数据库相关的所有内容(数据 + 表单 + 代码 + 报告 + 等等等等)都在一个 .mdb 文件中。 或者,它分布在您想要的任意数量的文件中。正确部署的 Access 应用程序的典型结构是两个文件,一个带有 UI 对象(表单/报告/等)的前端和一个仅带有数据表的后端。但当然,Access 文件能够将所有内容都包含在一个文件中——这并不是在生产环境中部署应用程序的最佳方式。 顺便说一句,为什么你问这个问题?在我看来,它的措辞方式似乎暗示 Access 构建其文件的方式存在某种问题(没有)。你害怕什么? 【参考方案1】:

“整个系统”在 Access 内部,因此如果您有表单等,它们会与数据一起混合在该文件中。

【讨论】:

【参考方案2】:

Access 将所有内容保存在 .mdb 文件中。当您打开项目时,您将看到您的选项卡(表格、查询、表单等)。模块中的代码和宏一样。

它实际上在这个文件中保留了更多通常隐藏的内容 - 基本上是项目的元数据。如果您转到工具 -> 选项,您应该会看到系统对象的复选框。选择它,当您查看表格时,您会看到如下名称:

MSysACE 系统模块 MSysModules2 系统对象 系统查询 MSysRelationships

玩这些牌桌的风险自负。

唯一未存储在主文件中的其他内容是安全信息 - 如果您尝试锁定该文件。那是在 system.mdw 文件中,更多信息请参见此处http://support.microsoft.com/kb/303941/EN-US。我只在我们想要锁定“应用程序”时使用或看到它使用过。

【讨论】:

以上是关于访问 97 个数据库的主要内容,如果未能解决你的问题,请参考以下文章

在 Access 97 的 SQL 查询中访问另一个受密码保护的数据库

创建 Access 97 格式的数据库

需要但未授予对 216.34.181.97 的 http 访问会减慢 phpmyadmin

使用 Access 2003 将 Access 2000 数据库转换为 Access 97

从 access 97 数据库中获取表/模式

Access DAO 为 Access 97 文件引发 COMException