Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server已连接到Access前端;此记录集不可更新;。_Sql Server_Ms Access_Odbc - Fatal编程技术网

Sql server SQL Server已连接到Access前端;此记录集不可更新;。

Sql server SQL Server已连接到Access前端;此记录集不可更新;。,sql-server,ms-access,odbc,Sql Server,Ms Access,Odbc,所以我开始了一项新的工作,继承了一个绝对残暴的数据库集合,它与几个访问前端相连。在尝试创建测试服务器时,我遇到了前端问题。以前的开发人员在SQLServer2008R2中创建了一些与表和视图关联的访问表单。我试图找出为什么我不能编辑任何字段(文本、组合框、列表等)中的任何值 表单绑定到的视图是: AuditQueries_UserTableForSelectionForms 该视图类似于: SELECT TableForFormFields_1.FormSelectionID,

所以我开始了一项新的工作,继承了一个绝对残暴的数据库集合,它与几个访问前端相连。在尝试创建测试服务器时,我遇到了前端问题。以前的开发人员在SQLServer2008R2中创建了一些与表和视图关联的访问表单。我试图找出为什么我不能编辑任何字段(文本、组合框、列表等)中的任何值

表单绑定到的视图是:

AuditQueries_UserTableForSelectionForms
该视图类似于:

SELECT        TableForFormFields_1.FormSelectionID, TableForFormFields_1.JobPlan, TableForFormFields_1.Floor, TableForFormFields_1.Location, TableForFormFields_1.CHSR#, TableForFormFields_1.PanelName, 
                     TableForFormFields_1.PanelLetter, TableForFormFields_1.PanelCircuit, TableForFormFields_1.StartDate, TableForFormFields_1.EndDate, TableForFormFields_1.MigrationDate, TableForFormFields_1.JTag, 
                     TableForFormFields_1.MinBusRow, TableForFormFields_1.MaxBusRow, TableForFormFields_1.PlanID, TableForFormFields_1.Equip, TableForFormFields_1.CabinetJTag, 
                     Shared_Tables.dbo.username.[User]
FROM            Audit.TableForFormFields AS TableForFormFields_1 INNER JOIN
                     Shared_Tables.dbo.username ON TableForFormFields_1.FormSelectionID = Shared_Tables.dbo.username.[User]
TableFormFields是一个包含各种表单中所有字段的默认值的表,它会根据登录的用户进行更改。使用以下视图检测登录用户:

SELECT        CASE LEFT(SYSTEM_USER, 11) WHEN 'LIGHTHOUSE\' THEN SYSTEM_USER ELSE 'Webuser' END AS [User]
我在谷歌上搜索了错误,发现的所有文档似乎都不太相关。数据库中还有其他与表关联的表单,如果我将表单的数据源更改为:

SELECT * FROM TableForFormFields AS TableForFormFields_1
一切都按要求进行。然而,这与生产环境不同,我需要保持它们不变,或者至少尽可能接近。有什么想法吗?

他们查询(因此由查询填充的记录集)由于
连接而不可更新。当您有一个连接时,表单、数据表或任何正在使用查询的内容都无法解析更改的位置。如果希望记录集是可更新的,则需要引用一个表

组合框/列表框等的
ControlSource
属性告诉数据在保存记录时写入的位置。它是表单的
记录源
中的一个字段

控件的
RowSource
属性告诉控件显示哪些可用选项


在您的情况下,您应该将
RowSource
设置为提供相关数据的视图,并将
ControlSource
设置为将要更新的表中的记录。

那么如何修改它来纠正此问题?@Jdsfighter当旧服务器上的同一视图是表单的数据源时,表单是否可编辑?生产服务器和测试服务器之间在数据库方面的所有内容都是相同的,但该视图在我的测试服务器上由于任何原因都不起作用。我们可能不在同一页面上。如果您在旧服务器上创建一个从Access到
AuditQueries\u UserTableForSelectionForms
视图的链接,然后在“数据表”视图中打开该链接,是否可以对其进行编辑?确定。如果在新服务器上创建类似于
auditquerys\u UserTableForSelectionForms
的链接,是否可以在数据表视图中编辑该链接?