我通过ADO从SQL Server检索数据并将其存储在ADODB Recordset中。然后,我将FORM链接到此记录集。然后我使用一些控件(标签,文本框,数据字段)以自动方式显示记录集中的信息(控件数据源设置为FORM / Recordset表名)。并且它正确显示了信息。
问题出现是因为它不会将更改(例如在DATA控件中)更新到记录集和/或SQL Server中。记录集有一个带有大量连接的SELECT,当我通过ODBC链接表时,控件将信息完美地更新到SQL Server中。但我无法通过记录集获得相同的结果。我究竟做错了什么?是否有必要创建一个事件(afterupdate或onclick等)并进行单独的查询以将更改更新到SQL Server中?
目前它表示该表单是只读的,因为未建立“唯一表”属性。
由于
答案 0 :(得分:1)
简单的本机方法是通过ODBC链接表,然后使用链接表和查询创建绑定表单。
当然,如果您希望能够更改和保存表单中的数据,则查询必须是可更新的。
答案 1 :(得分:0)
Microsoft Access的最大优势在于它能够将关系数据库引入桌面。凭借其易于使用的界面和向导,几乎任何人都可以构建简单,甚至非常精细的数据库应用程序。这些Access应用程序中的许多最终都不再适用于它们不起眼的起源,并且“升级”为SQL Server。
将Access用作SQL Server前端时的一个常见问题是原始应用程序从未构建过SQL Server的架构。大多数人都运行升迁向导,发现他们的表单和报告现在运行速度明显慢于以前并且变得沮丧。这有几个原因,但最大的问题是Access缺乏有效的记录导航。在Access窗体中导航记录的最常用方法是使用内置的导航按钮。或者,可以使用组合框来选择或过滤用户希望看到的记录。这两种方法都可能返回太多数据,当数据移动到SQL Server时,效果会被放大。
AccessUI提供极其高效的数据导航,可以大大减少SQL Server和Access前端之间的流量。通过动态构建树视图,仅构建第一级,然后根据需要构建所有后续级别,从而最小化数据传输。此外,开发人员可以使用AccessUI创建无限制的树视图,因此他们可以自定义每个用户的体验并防止他们浏览不需要的数据。当用户在Treeview中选择一个节点时,可以加载同步表单,仅显示与该树节点关联的那些记录。
AccessUI不支持将ADP用作SQL Server的前端,但使用带有MDB前端的传统环境,使用ODBC连接到SQL Server。这种方法稍微慢一点,但提供了更快的开发环境。 MDB具有提供本地和链接表,使用本地查询或SQL Server视图,ADO和DAO数据访问方法以及使用SQL Server存储过程和用户定义函数的选项等附加优势。
Advantages of using SQL Server as a back-end include:
◾Scalability – Databases can be multiple terrabytes
◾Performance – With tuning, factor of 10 improvements can often be achieved
◾Reliability – SQL Server corruptions are very rare
◾Security – much more robust than Access User Level Security for tables
◾Backup - Automated backup and recovery processes
此外,这可能值得您仔细阅读。
Pros and Cons of Access Data Project (MS Access front end with SQL Server Backend)
你也应该检查一下。
http://www.techrepublic.com/article/using-access-to-build-a-front-end-for-sql-server/