FoxPro - 来自另一个表的UPDATE表的DAO语法

时间:2012-12-25 15:25:27

标签: vb6 sql-update dao foxpro

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

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

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

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

我应该使用哪种语法?

1 个答案:

答案 0 :(得分:1)

尝试使用像这样的相关查询

UPDATE test
SET mask = (SELECT rcode FROM jobs WHERE code = test.jobcode)
WHERE jobcode IN (SELECT code FROM jobs)