尝试使用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
我应该使用哪种语法?
答案 0 :(得分:1)
尝试使用像这样的相关查询
UPDATE test
SET mask = (SELECT rcode FROM jobs WHERE code = test.jobcode)
WHERE jobcode IN (SELECT code FROM jobs)