2017-02-06 14 views
0

MS Access 2010には、候補と1つとパッケージアクションを持つ2つのテーブルがあります。アクションは、候補者テーブルにある自律番号である候補IDフィールドを介して候補者に関連付けられます。アクションテーブルには、各アクションの日付フィールドがあります。私は候補者フィールドに、その特定の候補に関連付けられた最新のアクションのアクションタイプを表示したいが、それを行う方法を理解できないように見えるフィールドを持っています。 「自分自身でこのクエリが唯一の候補者13のための最も最近のアクションを返しますが、理想的に、私は=CandidateID=13を交換したいと思いますが、私はすることができ、明らかに別のテーブルへのクエリの結果であるテーブルへのフィールドの追加

SELECT TOP 1 ActionT.ActionType FROM ActionT WHERE 
(((ActionT.CandidateID)=13)) 
ORDER BY ActionT.DateCompleted DESC; 

:私は、デフォルト値としてサブクエリを実装しようとしましたそのままフィールドにクエリーの結果を入力します。私もDLookupを使ってみましたが、デフォルト値にしようとしている間にエラーが発生しました。また、ボタン "Modify Lookups"を使用して、クエリとDLookupをセルに直接貼り付け、フィールドのタイプを "Text"から "Calculated"に変更しようとしましたが、すべて役に立たなくなりました。

ここに初心者のMSアクセスユーザーがいますので、ご理解いただけるようお願い申し上げます。

ありがとうございました。

EDIT:

ただ、明確にするために、私はそれ自体、クエリを探していませんよ。上記のクエリの結果を常に候補テーブルのフィールドの値にする方法を知りたい。 (上記のコードに修正が必要な場合は、私はそれを公開していますが、それは実際の質問ではありません)。彼らはResumeRecieved、ResumeReviewed、Interviewedです。インタビューされた日付は最新のものであるため、候補者テーブルの候補者Aのステータスは「インタビュー済み」である必要があります。その後、オファーを延長することを決定したので、ActionTable "OfferExtended"にアクションを追加します。

候補AはあなたのメインのSELECT文の中

答えて

0

を「OfferExtended」読むために更新をautomaticaalyなければならないためCandidateTableのStatusフィールドには、降順の最新DateCompletedを取得するためにDateCompleted順ネストされたSELECTステートメントを持っている必要がありますそれぞれのCondidateId。以下は

はあなたのためにトリックを行う必要があります。

SELECT con.Id, 
     con.Name, 
     (SELECT TOP 1 ActionType FROM ActionT 
     WHERE CandidateId = con.Id ORDER BY DateCompleted DESC) AS ActionType 
FROM Candidates AS con 
+0

私は私のテーブルには、このフィールドにするにはどうすればよいですか?私は候補テーブルに計算フィールドを追加し、これを "式"として使用してみましたが、うまくいきませんでした。私は言ったエラーが発生しました 'このエラーは、以下のいずれかによって発生する可能性があります。 テーブルに許可されているカラムの最大数または1つのファイルの最大ロック数を超えています。 重複したデータがテーブルに存在する場合、フィールドのインデックス付きプロパティがYes(Duplicates OK)からYes(重複なし)に変更されます。 計算されたフィールドのExpressionプロパティに式が指定されていません。 – WarBro

+0

また、これはID、Name、およびStatusを返すように見えます。私が望むのはステータスですが、特定の候補に関連付けられているActionTableの最新のステータスを、その候補の候補テーブルのフィールドの値にしたいとします。 – WarBro

+0

これは、計算されたデータ型を使用して別のテーブルからフィールドを選択することはできませんが、フィールドを操作する方法はありますが、更新クエリを作成して実行して(最近 "ActionType"特定のテーブル。 –

関連する問題