0

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

どの構文を使用すればよいですか?

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 に答える