我有一些包含许多字段的Access表。我已将每个访问表迁移到6或7个sql server表。我正在使用sql server 2008.现在我想使用Access作为前端,以便我可以在访问中输入数据,但它将存储在sql server中。我知道我必须建立ODBC连接。但我不确定如何创建一个访问表单来将其用作前端。如果这是一个基本问题,我很抱歉...
答案 0 :(得分:9)
您可能希望从一个空的Access数据库开始(因为表结构和任何现有的表单和报告与您在SQL Server中创建的不匹配)。
第一步是建立与SQL Server数据库的ODBC连接。然后,您将SQL Server中的表“链接”到Access数据库。
现在,您有一个Access数据库,其中包含您从SQL Server链接的所有表。这些表仍然在SQL Server中“存活”,当您在Access中编辑它们时,数据将存储在SQL Server中。
然后,您可以使用这些表构建Access表单和报表,就像表是Access的本机一样。
答案 1 :(得分:1)
最通用的方法是使用ODBC链接到SQL Server表和视图。这种方法允许您灵活地链接到其他ODBC数据源,其他Jet / ACE数据库文件中的表,在数据库中本地创建Jet / ACE表,链接到Excel电子表格等等。您可以合并各种数据源。
如果选择ADP,则将限制为与单个SQL Server实例的OLE DB连接。而且你将基本上锁定在SQL Server中。如果没有重大的重新开发工作,您将无法将应用程序切换到其他客户端 - 服务器数据库。
关于使用ODBC的部署开销,虽然您可能会发现在开发期间使用DSN很方便,但您应该在部署之前将ODBC链接转换为无DSN连接。这样,您的用户不会都需要DSN。请参阅Doug Steele的页面:Using DSN-Less Connections
答案 2 :(得分:0)
您可以创建ODBC连接。您也可以创建ADODB连接。如果你的目标是更新或修改SQL数据库,那么两个连接都可以解决问题。
现在,我猜你必须熟悉相应的对象。这些应该是表,查询,命令等,例如,允许您使用SQL查询构建记录集...一旦您清楚了,您可以,例如,为表单分配记录集通过Set myForm.recordset = myRecordset.open ...
方法。