0

尝试使用 VB6 和 DAO 从 FoxPro 2.5 表上的另一个表运行简单 UPDATE 时遇到问题。但是很困惑,因为我找不到可以接受的语法。

我正在尝试使用文件 JOBS.DBF 中查找代码的值更新文件 TEST.DBF 中的字段。

此代码在查询表达式'jobs.rcode FROM test INNER JOIN jobs ON test.jobcode = jobs.code'中生成错误3075“语法错误(缺少运算符)。”:

Dim dbsWork As Database
Dim qrd As DAO.QueryDef
Dim szSqlString As String

Set dbsWork = OpenDatabase(szWorkDir, False, False, "FoxPro 2.5")
szSqlString = "UPDATE test SET test.mask = jobs.rcode FROM test INNER JOIN jobs ON test.jobcode = jobs.code "
Set qrd = dbsWork.CreateQueryDef("", szSqlString)
qrd.Execute

Set qrd = Nothing
Set dbsWork = Nothing

请问我应该使用什么语法?

4

1 回答 1

1

尝试使用这样的相关查询

UPDATE test
SET mask = (SELECT rcode FROM jobs WHERE code = test.jobcode)
WHERE jobcode IN (SELECT code FROM jobs)
于 2012-12-25T15:43:30.297 回答