1

クエリの結果を関連するテーブルの値に制限することに問題があります。

SELECT Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2) AS YearsOfService,     tblAccrual.WeeksAccrual
FROM Roster, tblAccrual
WHERE (([tblAccrual]![Years]<[YearsOfService]))
GROUP BY Roster.UserID, Roster.[WM DOH], Round((Date()-[WM DOH])/365,2), tblAccrual.WeeksAccrual;

私のクエリは、勤続年数に基づいて発生週数を返す必要があります。クエリを実行すると、YearsOfService の入力ボックスが表示されます。私が探しているのは、ユーザーの勤続年数に基づいて、ユーザーに適切な発生価値を返すことです。「場所」の部分を削除すると、さまざまな勤続年数のすべての組み合わせが返されます。私は彼らの勤続年数に対応するものだけが欲しい. エクセルにこんな数式が…

Today - Date of Hire / 365 = Years of service
if(years of service <2,0, if(years of service <7,2, if Years of service <15,3, 4)))

私は何を間違えましたか?

4

1 に答える 1

2

YearsOfServiceWhere ステートメントでエイリアスを参照することはできません。次のようなものを使用してください。

WHERE (([tblAccrual]![Years]<Round((Date()-[WM DOH])/365,2)))

括弧の数から、クエリ デザイン ウィンドウを使用して構築しているように見えます。エイリアス列の下に条件を配置すると、MS Access が提案する内容を確認するのに役立ちます。

于 2012-12-10T13:37:41.330 に答える