以编程方式有选择地设置组合框值

时间:2015-07-07 16:18:42

标签: vba ms-access access-vba ms-access-2007

用户选择孔并自动显示它可能具有的所有样品:

Wells combobox

Samples combobox

样本组合框字段' EC'和' EC_Undetected'是相关的,所以' Cl'和' Cl_Untetected'。 If (EC_Undetected = True)然后' EC'将是空的,因此显示两者都是多余的。

我不想显示两个列,而是只显示一列显示实际值或"未检测到"何时If (EC_Undetected = True)。他们应该尝试使用相同的别名' EC'

目前这是Well_List_Click上的SQL查询:

sql = "SELECT " _
        & "Samplers.ID, Samples.ID, Sampling_Date AS [Date Sampled], Samplers.Last_Name AS [Sampler], EC, EC_Undetected, Cl, Cl_Undetected, Ammonia, Ammonia_Undetected, Nitrate, Nitrate_Undetected, Water_Level_From_Surface AS [Lvl fr Surface], Laboratory_Name AS [Lab], Provincial_Audit AS [Audit], Background, Samples.Comments " _
        & "FROM  Samplers INNER JOIN (Laboratories INNER JOIN Samples ON Laboratories.ID = Samples.Laboratory_ID) ON Samplers.ID = Samples.Sampler_ID " _
        & "WHERE Well_ID=" & wellObj.wellID _
        & " ORDER BY Sampling_Date"

Sample_List.RowSource = sql

解决此用户要求的最佳方法是什么?我不知道从哪里开始,因为样本组合框可以有多行

1 个答案:

答案 0 :(得分:1)

在查询中使用IIF语句;

IIF([EC_Undetected], 'Undetected', [EC]) AS ECValue

这将为您提供一个名为ECValue的列,它将显示值或字符串"未检测到"。