当我尝试运行 SQL 时,收到一条错误消息:“操作必须使用可更新查询”。据我了解,当 MS Access 中的更新/删除查询中使用联接时,就会发生这种情况。然而,我有点困惑,因为我的数据库中有另一个几乎相同的查询,它工作得很好。
这是我的麻烦查询:
UPDATE [GS] INNER JOIN [Views] ON
([Views].Hostname = [GS].Hostname)
AND ([GS].APPID = [Views].APPID)
SET
[GS].APPID = [Views].APPID,
[GS].[Name] = [Views].[Name],
[GS].Hostname = [Views].Hostname,
[GS].[Date] = [Views].[Date],
[GS].[Unit] = [Views].[Unit],
[GS].[Owner] = [Views].[Owner];
正如我之前所说,我很困惑,因为我有另一个与此类似的查询,它运行得很好。这就是该查询:
UPDATE [Views] INNER JOIN [GS] ON
[Views].APPID = [GS].APPID
SET
[GS].APPID = [Views].APPID,
[GS].[Name] = [Views].[Name],
[GS].[Criticial?] = [Views].[Criticial?],
[GS].[Unit] = [Views].[Unit],
[GS].[Owner] = [Views].[Owner];
我的第一个查询有什么问题?为什么第二个查询有效而第一个查询无效?
最佳答案
代码中没有错误,但由于以下原因抛出错误:
- Please check whether you have given Read-write permission to MS-Access database file.
- The Database file where it is stored (say in Folder1) is read-only..?
假设您将数据库(MS-Access 文件)存储在只读文件夹中,在运行应用程序时,连接不会强制完全打开。因此,更改文件权限/其包含的文件夹权限,如 C:\Program files
中,所有大多数 C 驱动器文件都设置为只读,因此更改此权限可以解决此问题。
关于ms-access - MS Access 中的 "Operation must use an updateable query"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789709/