使用SPROC从MS Access前端插入SQL Server后端中的记录

问题描述:

我最近遇到了major problems从MS Access前端插入记录到SQL Server后端,因为我使用的是绑定表单来执行插入操作。多个评论者建议使用SQL Server存储过程来替代执行插入操作。 这通常如何完成?普遍认为在这种情况下使用SPROCs比使用绑定表单更好吗?使用SPROC从MS Access前端插入SQL Server后端中的记录

我对使用存储过程的几个具体问题:

  • 子窗体:我可以轻而易举地想象出使用未绑定的形式通过存储过程对大多数表执行插入。但是,我不知道如何处理为下级表添加记录。通过主窗体上的未绑定控件或从主窗体弹出的弹出窗体?这两者中的任何一个都将离开我的用户习惯看到的界面。
  • 版本控制:我有我的Access应用程序在严格的版本控制下。我最好使用传递查询将所有程序逻辑保存在一个地方,还是使用存储在后端数据库中的存储过程物理还有其他好处?
  • 改装:它是实用/值得做大规模(即,几十个表格)?
+0

关于子表单问题,我通常不允许连续/数据表子表单是可编辑的,但我认为这不是问题。问题是ADDS,而不是EDITS,所以在我看来,你的子表单将不允许添加,并且你将有一种通过SPROC添加新记录的方法,然后重新查询子表单以加载新记录并导航到它。弹出窗体或细节窗体将正常工作(绑定到列表子窗体的PK的附加子窗体)。这似乎是你的问题的哪一部分? – 2011-05-22 00:29:44

+0

RE:subforms,两种方法本身都不是问题。但由于它会是一个与我以前使用的界面不同的界面,所以我想测量一下最佳实践。 – mwolfe02 2011-05-22 17:33:11

数据库中的存储过程为您提供了在Access应用程序之外重用它们的好处。

版本控制:你如何提供对其他sql数据库对象的版本控制?如果你可以在版本控制下放置一个表格,你可以放置一个proc,除非所有的表格创建和更新代码都在Access中。

除非有数据完整性或性能问题,否则我不会优先对表单进行改造。您可以随着时间的推移或更改/更新发生。

+0

RE:数据库对象的版本控制,我正在使用SSMS(Express Edition)中的Generate Scripts ...向导。我还没有开发出一种方法使我在MS Access中使用SQL Server进行版本控制的过程自动化。这是一个很费力的过程(相对而言),所以我不会像我应该那样经常或一致地进行。 – mwolfe02 2011-05-19 14:22:28