1

変数の 1 つとしてサブクエリを使用してクエリを実行すると、エラー 3021 ("現在のレコードが見つかりません" ですが、見つかるレコードがあります) が発生します。

コードは次のとおりです。

SELECT thefieldsiwant, etc.etc., 

(SELECT directory.person_name FROM directory INNER JOIN doc ON doc.entity_to=directory.entity_id) AS receiver,

(SELECT directory.person_name FROM directory INNER JOIN doc ON doc.entity_from=directory.entity_id) AS sender

FROM doc;

entity_id は、テーブル「ディレクトリ」の主キーです。

entity_to および entity_from は、テーブル「doc」の外部キーです。

基本的には、その人物がドキュメントの送信者 (およびドキュメントの受信者としての別の人物) である場合、その人物の名前を表示するだけであり、これら 2 人の特定の人物の ID ではありません。

4

1 に答える 1

0

以下のコードのように FROM にすべてを入れてみてください。また、次のコードの一部を使用する場合は、SELECT 列の 1 つが NULL の場合、Access が置換値を返すことを確認する必要があります。

select  doc.documentname, 
        reciever.person_name, 
        sender.person_name 
from 
doc 
LEFT JOIN
    ((SELECT directory.person_name, doc.entity_to FROM directory INNER JOIN doc ON doc.entity_to=directory.entity_id) AS receiver on doc.entity_to = receiver.entity_to)
LEFT JOIN   
    ((SELECT directory.person_name, doc.entity_from FROM directory INNER JOIN doc ON doc.entity_from=directory.entity_id) AS sender on doc.entity_from = sender.entity_from)
where dir.entity_id = '[enter id for user]'
于 2013-10-01T03:40:42.193 に答える