Ms access 设计基于服务器的Access数据库时的标准步骤是什么?

Ms access 设计基于服务器的Access数据库时的标准步骤是什么?,ms-access,vba,access-data-project,Ms Access,Vba,Access Data Project,我知道这是一个广泛的问题,我试图避免问一个答案不明确的问题,但是,在为我缺少的服务器设计Access数据库时,必须有一套标准规则 我问这个问题的原因是因为我目前有一个数据库,它最初是一个桌面应用程序,现在我想把它移动到服务器上。然而,我基本上是动态创建这个数据库的,目前正在讨论取消数据库前端,因为我觉得我错过了开发端的关键步骤。我真的需要一位专家对构建基于服务器的数据库的基本方法发表意见 谢谢你的时间和考虑 编辑这里是一个链接,指向一个伟大的指南,其中列出了创建基于服务器的Access数据库时的

我知道这是一个广泛的问题,我试图避免问一个答案不明确的问题,但是,在为我缺少的服务器设计Access数据库时,必须有一套标准规则

我问这个问题的原因是因为我目前有一个数据库,它最初是一个桌面应用程序,现在我想把它移动到服务器上。然而,我基本上是动态创建这个数据库的,目前正在讨论取消数据库前端,因为我觉得我错过了开发端的关键步骤。我真的需要一位专家对构建基于服务器的数据库的基本方法发表意见

谢谢你的时间和考虑

编辑这里是一个链接,指向一个伟大的指南,其中列出了创建基于服务器的Access数据库时的“最佳实践”


希望其他人能像我一样发现这一点。

与使用Access+SQL server相比,现有Access应用程序的良好设计没有任何实际变化

换句话说,您可以使用现有的应用程序,将数据表移动到SQL server,并继续将现有的Access应用程序用作前端

这里没有真正的建议只适用于不使用SQL server的Access和使用Access+SQL server的Access。换句话说,您实际上不必改变构建Access应用程序的方式来使用SQL server

当使用Access作为前端,使用SQL server作为后端时,在仅Access应用程序中可扩展且运行良好的好设计也往往运行良好

基本提示包括:

打开表单时,请在启动表单之前询问用户。启动一个表单,从服务器中拖出大量记录,然后询问用户需要什么帐户或什么,这是没有意义的。因此,提示用户进行某种类型的搜索。用这样一个屏幕:

即使在使用一百万行访问SQL server时,上述操作也是即时的。上面使用的是Access中100%的链接表,这里没有任何特殊技巧——只需将一条简单的SQL语句插入子表单中即可。这是一个链接到SQLServer的视图

然后,当用户单击一行时,只需使用where子句ID=&me启动表单!身份证

此where子句即使在SQL server上也适用于访问绑定表单和链接表

在具有客户端筛选器请求的报表中使用视图进行复杂查询

您可以对某些报表采用传递查询,以获得更高的性能,但在大多数情况下,在SQL端创建视图并从Access链接到这些视图效果很好,而且工作量最小

因此,使用Access和SQL Server开发软件的方式并没有真正的变化。唯一的问题是始终记住,在确定用户想要编辑的内容之前,您不希望将记录加载到表单中。这种方法不仅适用于使用Access+SQL server时,而且即使仅使用基于文件的Access应用程序,您也不需要也不希望将不必要的记录拉入表单以减少网络负载

在绝大多数情况下,附加到OpenForm命令的简单where子句就足够了


因此,开发一个好的Access only应用程序或Access+SQL server应用程序的方式没有真正的改变。

我要提供的第一个建议是不要使用ms Access,它根本不能扩展到大请求,也不能像服务器通常会做的那样一次处理多个请求。第二个建议是开始在一个大列表中列出需要存储的内容,然后开始规范化数据并在需要的地方添加键。当您完成列表的正常化时,您将拥有一个很好的表和键集合,并且应该能够安全地开始为表分配名称等等。非常好的建议,我非常感谢。我曾经讨论过如何将ms access用于桌面数据库之外的服务器数据库,现在我知道我应该放弃ms access。我将进一步研究在设计基于服务器的数据库时使用什么。我完全同意,我完全错过了绘制我的数据!再次感谢你的意见@斯克拉加如果不是。。。使用ms access您的意思是不要使用access数据库文件作为后端,那么根据并发用户的数量、数据库文件的大小等,您可能有一个观点。。但是,您声称Access数据库引擎不能同时处理多个请求的说法根本不正确。此外,Access还可用于构建前端应用程序,即使后端数据库是SQL Server或其他客户机服务器数据库产品。@GordThompson理论上它最多支持255个连接,事实上,如果他们表现得很好,这将开始让超过5到10个人窒息,这取决于他们所做的事情的规模。如果你想要一个服务器来做一些事情
e你计划在将来的某个时候让十几个人使用itor,至少你会喜欢这个选项。我可以用这个来躲过一劫,因为我相信一次只有四个人访问这个数据库。这是一个相对较小的数据库。我很感激你们所有人对这件事的想法,我肯定会记下来。我知道这与我的问题无关,但是,考虑到目前为止的输入,我应该使用什么来构建一个基于服务器的小型数据库,即mySQL、VisualStudio?我唯一的困难是,我开发的数据库由3个较小的数据库及其管理概述组成。例如,我有一个管理工具和设备的数据库,还有一个处理机车车辆的数据库。另外,我还有另外两个数据库,首先管理对上述数据库的维护,另一个管理上述数据库的订单请求。在大多数情况下,它们彼此通信。e:brad Naller上的订单和维护可以在带有子表单的表单上看到,所有这些都通过NavForm链接。我还能把这些东西放到服务器上吗?我在你的评论中没有看到任何东西真正改变了这些数据库设置的工作方式。因此,您需要拆分数据库。因此,用户界面部分将没有数据表,只有链接。链接到不同的数据库并没有太大的变化,而且听起来您一直在使用Access的链接功能。因此,如果这个设置导致3个不同的数据库,那么任何前端都可以链接到这样的数据库,无论它们是访问后端还是SQL后端。我买了一本书,详细介绍了将桌面数据库转换为基于服务器的数据库时要采取的具体步骤。现在,我只是在设置错误陷阱,并找到一种防止人们输入重复/不正确记录的方法。编码,编码,编码,非常好。作为后续工作,现有代码的99%应该可以正常工作。表现在是SQL server的事实变化不大。因此,所需的任何“编码”通常不会更改,因为您的表现在位于SQL server上,而不是Access表。您通常编写的表单和VBA代码不必更改,因为该表现在位于SQL server上,而不是Access表上。祝你好运这绝对是一种解脱!我的朋友和我将在下周坐下来,把这个数据库放到服务器上,或者至少准备好在服务器上运行并从那里开始。再次感谢你的建议!