- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从多年前开始,我就没有使用Access。
它能很好地解决什么样的问题,甚至比真正的RDBMS支持的Web应用程序更好?
它仍在积极开发吗?还是MS已经死了?
最大的局限性是什么?
更新:
应该使用什么资源来学习如何为小型企业开发MS Access解决方案?
谢谢
最佳答案
首先,Access是真正的RDBMS。它不是客户端服务器RDBMS。
唯一的含义是同时连接的数量受到限制,并且数据的安全性需要仔细考虑。
除其他外,Access还是使用VBA作为其语言的IDE。
这意味着在Access中,您可以编写链接到SQL Server后端,Access后端或SharePoint后端的前端应用程序。因此,它是一种非常通用的cookie。
它的局限性是:
安全性:如果您使用的是访问后端,请注意它没有客户端服务器数据库的内置安全性。在任何应用程序中,安全性都是成本和数据保密性的函数。
同时连接数。如果您不小心,Access将与10个以上试图同时更新数据的人员进行斗争。您可以扩展它,但是您需要知道您在做什么才能保证结果。给它加上一个数字,可以说有50个同时连接。
像大多数数据库一样,它也容易损坏。
注意:当将Access称为数据库时,您实际上应该指的是“数据库引擎”,JET或ACE,具体取决于版本,对于Access 2007+,则取决于所使用的文件格式。换句话说,如果您将数据存储在Access表中,那么您将使用JET或ACE。但是,如果您使用的是LINKED TABLES(例如在SQL Server中),那么严格来说,您就不会为这些表使用JET或ACE安全性。
Access SQL不允许您编写存储过程(可以在VBA中编写函数),因为Access SQL仅允许命令性语句而不是过程性语句(例如,控制流语句)。您可以使用VBA函数引入一些“过程代码”,但这与使用SQL语句非常不同。
您备份文件本身。您可以单击按钮来编写代码来执行此操作。
安全始终是成本的函数。如果您拥有的数据价值超过100,000美元(如果数据被盗,则可能会失去权利或承担法律责任,并且您没有在保护方面进行尽职调查),那么Access可能不是答案。 100,000是一个任意数字。准确的数字将取决于数据是否可保险以及其丢失或被盗的后果。
即,如果数据的价值是驱动因素,那么绝对不要将Access用作后端。是否将其用作前端,是预算问题。花了5000美元,我编写了仍然可以在10年后运行的应用程序。由于敏感数据量的增长,他们现在需要将后端移植到SQL Server。
在上述限制条件下使用Access并由专业的Access开发人员使用(而不是一些不满的傻瓜认为自己应该使用“更酷”的技术)时,Access会产生非常复杂,坚固且可靠的应用程序,而其成本仅为后者的十分之一其他系统。在这种情况下,Access绝对是无脑的。
其他任何东西都将花费更多,花费更长的时间,并且仅与编写代码和设计UI的人一样好。
我有一个应用程序(我在Access中内置的第一个应用程序),已经运行了10年没有问题。我们已经对其进行了大规模扩展。我已经进入ASP.NET MVC,但是Access是我发源的地方,并且我看到它运行良好。
因此,总而言之:用户数量是相关的,而数据中隐含的价值或负债是另一个决定因素。
如果同时使用的用户数量少并且数据的价值/隐性负债很低,那么选择肯定是Access。
但是,请自己成为一个好的开发人员。
编辑/说明:
像所有答案一样,以上答案是在一天的工作中匆忙编写的。有些陈述有些呆板,有些泛泛,没有以适当的精确度编写……但是,当其他人的评论是合理的时,答案的作者应对此文章进行编辑并加以澄清。
1 /
访问是神圣的三位一体。它是一个IDE,用于编写要在查询中使用的表单,报表和函数。它“包括”一个数据库引擎(JET / ACE)。它在数据库引擎上提供了可视界面,使您可以设计查询,设置表之间的关系等。
通常在许多角色中都将它称为Access,但是精确度确实有助于学习Access并从中获得最大收益。
2 /
Access不能使用存储过程,因为Access SQL只能使用命令性语句,而不能使用过程性语句(例如,控制流语句)。我一直认为,将它们称为存储的过程是有原因的。
3 /
并非每个Access应用程序的成本都恰好是100,000。 Access应用程序的预算也不等于数据的价值。那是显而易见的。我试图传达的想法是,如果数据的价值超过可以合理保证的总和,那么就不要使用Access。那是十万这个数字吗? Access的前项目经理Luke Chung和Clint Covington表示,是的,但不要相信。它实际上只是意味着“很多钱”。
我为医疗慈善机构编写了一个应用程序,该应用程序在最初的预算为5000以后仍然运行了10年。这些年来,他们可能又投资了20,000。这类应用是Access的最佳选择。
关于ms-access - MS Access何时比RDBMS支持的Web应用程序更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4094195/
我正在尝试编写 Access Access 数据库的脚本,以便在命令行上使用。 Access 数据库使用工作组文件进行保护。 Dim oApp, sWGF,myWS Set sApp = Create
我有一个包含数据表的表格。我希望用户能够选择多行,单击按钮并运行一些 sql 查询并对这些行执行一些工作。 查看我的 VBA 代码,我发现如何使用 CurrentRecord 属性 Access 最后
如果我在某个网络位置有 Microsoft Access 2007 数据库,那么可以使用该数据库的客户端计算机的数量是否有限制?客户端不会安装 Access,而是使用 Access Runtime 2
我正在开发一个注册系统。但我收到此错误:You tried to execute a query that does not include the specified expression.. 我正
我有一个产品设计为使用 MS Access 文件作为数据库的桌面产品。 现在,一些用户需要将它安装在几台 PC(比如说 2 或 3 台)上并共享数据库。 我想将 MS Access 文件放在共享文件夹
我接手了一个旧的软件项目,该项目使用 MS Access 数据库来存储数据。但是数据库不会在 Access 中打开,如下所示: "You do not have the necessary permi
我有一个文件夹,里面装满了 100 多个 Access97 文件。我需要将它们全部更新到 Access2003。 我可以手动完成,但使用 VBA 可能会快很多。 有没有人会有一个片段可以做到这一点?或
我正在通过 SQL Server 迁移助手 (SSMA) 将数据从 Access 数据库迁移到 SQL Server。 Access 应用程序将继续与转换为链接表的本地表一起使用。 一个连续的表单在加
我正在通过 SQL Server 迁移助手 (SSMA) 将数据从 Access 数据库迁移到 SQL Server。 Access 应用程序将继续与转换为链接表的本地表一起使用。 一个连续的表单在加
我的公司用 Visual Basic 6 开发了一个应用程序。 该应用程序通过 ODBC 数据源使用 Access 数据库。 Access 数据库是一个扩展名为“.mdb”的文件。 在以下环境中运行应
我一直在尝试让 Microsoft Access 从主 Access 窗口中“退出”,以便我可以隐藏 Access 窗口并仅在桌面上显示表单,以便可以轻松地将其放置在其他应用程序旁边。 起初我发现了一
我想在 access 2010 中使用 access 2000 和 2003 数据库。由于我不想检查一切是否手动工作,我正在寻找一种工具来分析 VBA 代码以查找使用 access 2010 发生的错
所以我有一个 Excel 工作簿,其中有一个很好的 shaperange 对象的全局 map 。通过一些非常简单的代码,我可以更改颜色、将国家/地区集合分组和取消分组为数组等......并且效果非常好
我们希望有大约 35-40 人通过共享驱动器上的脚本写入 Access 数据库。这些指标分解为他们需要每小时写大约 3-7 次。 Access 会支持这一点而不会对我产生影响吗? 是的,我很乐意将其用
我正在寻找一种使用 VBA 代码从外部数据库文件中删除 VBA 模块的方法。名为“myfile.accdb”的外部文件有一个名为“mod1”的模块,我希望能够在单独的项目中使用 VBA 代码删除该模块
我在 Access 2003 数据库(在 Access 2007 中开发)中有三个表单,它们处于父级 -> 子级 -> 孙子级关系中。在子窗体的 'Form_Load' 子窗体中,我设置了孙子窗体的一
MS Access 2007 存在拒绝在设计模式下显示表单的问题。我可以看到表单的代码(如果我查看显示表单的按钮的事件属性),但我看不到作为 GUI 布局的表单。而且,当我尝试从应用程序的主窗口调用此
我编写了代码,使用 Excel 中的下拉列表提供的标准将两个表连接起来,然后将数据返回到电子表格上的特定位置(工作表上已经有标题)。 这在我的机器上和其他机器上使用 MS Access 的机器上都可以
我正在开始构建一个应用程序,该应用程序从给定的根路径开始遍历文件夹结构,并将所有找到的 Access 1997 .mdb 文件转换为较新的 Access 2007/2010 .accdb 格式。但是,
我有一个表单和一个按钮。我想通过单击按钮打开另一个表单,并将参数从父表单传递到子表单(子表单的 RecordSource 有参数)。我该怎么做? 最佳答案 您可以通过引用表单的对象来引用调用表单的任何
我是一名优秀的程序员,十分优秀!