MS Access 2010 データベースには、基になるクエリから値が入力されるいくつかのテキスト ボックスと、計算される 1 つのテキスト ボックスを持つナビゲーション サブフォームがあります。計算されたテキスト ボックスに条件付きロジックを追加したいと考えています。
入力されたテキストボックスの 2 つは、ClientNumber と DOB です。式ビルダーでは、計算されたテキスト ボックスは Age であり、現在次のように計算されています。
=DateDiff("yyyy",[DOB],Now())+Int(Format(Now(),"mmdd")<Format([DOB],"mmdd"))
Age の計算を次の疑似コードのように変更したいと思います。
=IiF(
ClientNumber IN qryActiveClients,
DateDiff("yyyy",[DOB],Now())+Int(Format(Now(),"mmdd")<Format([DOB],"mmdd")) ,
"NA"
)
この疑似コードを変更して、目的のタスクを達成するための実際の作業コードにする方法を教えてもらえますか?
参考までに、qryActiveClients は次のとおりです。
SELECT DISTINCT
ActiveCustomers.FirstName,
ActiveCustomers.LastName,
tblClientAddress.HomePhone,
ActiveCustomers.ClientNumber
FROM
(
SELECT
Clients.ClientNumber,
Clients.FirstName,
Clients.LastName,
(
SELECT COUNT(ReferralDate) FROM IntakeTable
WHERE Clients.ClientNumber = IntakeTable.ClientNumber
AND Len(ReferralDate & '') > 0
) AS IntakeCount,
(
SELECT COUNT(ExitDate) FROM ExitTable
WHERE Clients.ClientNumber = ExitTable.ClientNumber
AND Len(ExitDate & '') > 0
) AS ExitCount FROM Clients
) AS ActiveCustomers
INNER JOIN tblClientAddress
ON ActiveCustomers.ClientNumber = tblClientAddress.ClientNumber
WHERE (((ActiveCustomers.IntakeCount)>[ExitCount]) AND ((tblClientAddress.CurrentResidence)=True));
qryActiveClients は、他のコントロールの入力元と同じクエリではないことに注意してください。