我正在尝试执行一个动态SQL语句,其中命令将在某个区域中添加字段“Drawn”,具体取决于j的值。这是因为有几个实例出现“修订版”表中的字段“Rev”。我在查询设计中创建了这个语句,但只更新表中的特定字段,而不依赖于我的计数器j。我得到'不支持JOIN表达'。任何人都可以帮我解决这个问题吗?
Select Case selection(n)
Case "A"
j = 1
Case "B"
j = 2
Case "0"
j = 3
Case "1"
j = 4
Case "2"
j = 5
End Select
With rs
While Not .EOF
DoCmd.RunSQL "SELECT Area.Drawn " & _
"FROM (Revision INNER JOIN RevDesc ON Revision.Rev" & j & " = RevDesc.Rev) " & _
"INNER JOIN Area ON Revision.LineNumber = ArealineNmuber ;"
.MoveNext
wend
end with
答案 0 :(得分:0)
您可能正在寻找像OpenRecordset ......这样的方法
Lopping Recordset使用结果字段生成简单的Update
,您可以使用RunSQL方法运行。
编辑:
示例更新:
UPDATE [Revision]
SET [Drawn] = (SELECT [Drawn] FROM [Area] WHERE [Area].[LineNumber] = [Revision].[LineNumber] )
WHERE Exists(SELECT 1 FROM [RevDesc]
WHERE [RevDesc].[Rev] = [Revision].[Rev]);