我收到一个错误,试图通过Excel中的VBA运行查询。VBA Excel - 访问查询不可更新
错误:
Run-time error '3073': Operation must use an updateable query.
我有一个从一个表在Excel中获取数据的查询。
qryAllData:
SELECT ID, Field1 AS [Date], Field9 AS [Alarm Init], Field5 AS [Alarm End], CVDate(Field2) AS [Time]
FROM [Jet Info]
WHERE (Field3 LIKE 'ALARM' OR Field8 LIKE 'ALARM:') AND Field5 NOT LIKE 'Program' AND (Field9 NOT LIKE 'Program' OR ISNULL(Field9));
我本来已经直接引用在Excel中此查询,但仍然得到上面的错误,所以我想引用查询,而不是。
qrySelData:
SELECT DISTINCTROW TOP 1 a.*
FROM [Process Info] AS a, [Complete Data] AS b
WHERE (((a.Date) Not In (SELECT [Date] FROM [Complete Data])) AND ((a.[Start Time]) Not In (SELECT [Start Time] FROM [Complete Data])));
这里是我的VBA代码:
Private Sub CommandButton1_Click()
Refresh_Data
Dim objAccess As Object
Set objAccess = GetObject("C:\Users\******\Documents\Database21.accdb")
objAccess.Visible = False
objAccess.DoCmd.OpenQuery ("qrySelData")
objAccess.Quit
Set objAccess = Nothing
End Sub
在VBA运行子上objAccess.DoCmd.OpenQuery ("qrySelData")
行抛出错误3072。
任何帮助将不胜感激 - 如果你需要更多的信息让我知道。
貌似问题是在加盟:https://stackoverflow.com/questions/170578/operation-must-use-an-updatable-query-error-3073-microsoft-access这里的一些不同的建议 - 一个是插入到临时表中,然后从中选择。这似乎是对你有用。 –
@JacobH因此而不是引用查询的,我应该做一个假表'qryAllData'插入到,然后引用以'qrySelData'? – bcbrwk
@JacobH我仍然有麻烦。所以我有一个正在被引用的临时表;如何执行我用来将数据粘贴到临时表中的查询?这似乎是我的主要问题目前。 – bcbrwk