我很难尝试制作一个我需要的计算字段。所以这就是我想要做的: 我有一个查询,它结合了基于三个表的信息。应用程序最重要的字段如下:
Family Income Age Patient
15,000 18 Yes
28,000 25 No
30,000 1 Yes
从这里开始,我想制作一个计算字段,根据这些字段提供患者登记的正确程序,即:
Program Minimum Income Maximum Income Minimum Age Maximum Age Patient
Children's 0 20,000 1 19 Yes
Adult 0 12,000 19 65 No
Non Patient 0 20,000 1 19 No
Adult 2 12,000 50,000 19 65 No
Etc.
创建:
Family Income Age Patient Program
15,000 18 Yes Children's
28,000 25 No Adult 2
30,000 1 Yes Children's 2
我知道我可以使用IIf将其硬编码到现场,但随着指南的变化,其他人很难更新信息。是否可以将信息存储在表格中?并使用表格等信息,或者我需要使用IIf
任何想法?是否可以使用VBA动态创建SQL中的IIf,同时从表中提取信息?
EDIT ::: 感谢您的回复和格式化我的表格,我仍然不知道您是如何更改它的,但它看起来很棒!
我尝试添加您在下面添加的SQL,但我无法使其正常工作。我不确定我是否犯了错误,所以我包含了查询的SQL。查询当前返回0值,所以我想我搞砸了。 (真正的查询令人尴尬......我很抱歉)。不幸的是,我已尽力避免使用SQL,现在我付出了代价。
SELECT qry_CombinedIndividual.qry_PrimaryApplicant.[Application Date],
qry_CombinedIndividual.qry_PrimaryApplicant.[Eligibility Rep],
qry_CombinedIndividual.qry_PrimaryApplicant.Name,
qry_CombinedIndividual.qry_PrimaryApplicant.Clinic,
qry_CombinedIndividual.qry_PrimaryApplicant.Outreach,
qry_CombinedIndividual.qry_PrimaryApplicant.[Content Type ID],
qry_CombinedIndividual.qry_PrimaryApplicant.[Application Status],
qry_CombinedIndividual.qry_PrimaryApplicant.Renewal,
qry_CombinedIndividual.qry_Enrolled.EthnicityEnr,
qry_CombinedIndividual.qry_Enrolled.GenderEnr, qry_CombinedIndividual.AgeAtApp,
qry_CombinedIndividual.[Percent FPL], tbl_ChildrensMedical.MinPercentFPL,
tbl_ChildrensMedical.MaxPercentFPL, tbl_ChildrensMedical.MinAge,
tbl_ChildrensMedical.MaxAge, tbl_ChildrensMedical.Program
FROM qry_CombinedIndividual
INNER JOIN tbl_ChildrensMedical ON qry_CombinedIndividual.qry_Enrolled.Patient = tbl_ChildrensMedical.Patient
WHERE (((qry_CombinedIndividual.AgeAtApp)>=[tbl_ChildrensMedical].[MinAge]
And (qry_CombinedIndividual.AgeAtApp)<[tbl_ChildrensMedical].[MinAge])
AND ((qry_CombinedIndividual.[Percent FPL])>=[tbl_ChildrensMedical].[MinPercentFPL]
And (qry_CombinedIndividual.[Percent FPL])<[tbl_ChildrensMedical].[MaxPercentFPL]));
还有许多不同的节目。这是真正的儿童表(最终我想在可能的情况下添加成人)
*请注意,实际表格使用FPL(考虑到家庭规模,但使用与收入相同)。关于你如何形成表格我完全失去了。
Program Patient MinPercentFPL MaxPercentFPL MinAge MaxAge
SCHIP (No Premium) No 0 210 1 19
SCHIP (Tier 1) No 210 260 1 19
SCHIP (Tier 2) No 260 312 1 19
Newborn No 0 300 0 1
Newborn (Patient) Yes 0 300 0 1
Children's Medical Yes 0 200 1 19
CHIP (20 Premium) Yes 200 250 1 19
CHIP (30 Premium) Yes 250 300 1 19
我的表格是否正确?或者我应该改变什么。如果有帮助的话,我也可以发送更多的信息/样本数据。
再次感谢你!
答案 0 :(得分:0)
我刚刚使用您的示例数据创建了一些表,并使用了以下SQL。您的第3个“患者”与任何范围(1岁,收入$ 30K)都不匹配
SELECT tblPatient.PatName, tblPatient.FamInc, tblPatient.Age, tblPatient.Patient,
tblPatientRange.Program, tblPatientRange.MinInc, tblPatientRange.MaxInc, tblPatientRange.MinAge,
tblPatientRange.MaxAge, tblPatientRange.Patient
FROM tblPatient INNER JOIN tblPatientRange ON tblPatient.Patient = tblPatientRange.Patient
WHERE (((tblPatient.FamInc)>=[tblPatientRange]![MinInc] And (tblPatient.FamInc)<=[tblPatientRange]![MaxInc])
AND ((tblPatient.Age)>=[tblPatientRange]![MinAge] And (tblPatient.Age)<=[tblPatientRange]![MaxAge]));