【问题标题】:FoxPro - DAO syntax to UPDATE table from another tableFoxPro - 从另一个表更新表的 DAO 语法
【发布时间】:2012-12-11 11:57:37
【问题描述】:

在尝试使用 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

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

【问题讨论】:

    标签: vb6 sql-update dao foxpro


    【解决方案1】:

    尝试使用这样的相关查询

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

    【讨论】:

    • 感谢@wqw,但这也不起作用。我知道我应该记下错误消息,但我已经厌倦了在 DAO 中使用 FoxPro 数据的局限性,所以我放弃了使用 FoxPro 数据。相反,我选择将数据导入 Access MDB 文件并在此文件上使用 DAO - 我知道这会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多