【问题标题】:check if result is in query before running vba expression在运行 vba 表达式之前检查结果是否在查询中
【发布时间】:2013-10-22 17:43:37
【问题描述】:

在一个 MS Access 2010 数据库中,我有一个导航子表单,它有几个文本框,其值是从基础查询中填充的,还有一个是计算出来的文本框。我想在计算的文本框中添加一些条件逻辑。

两个填充的文本框是 ClientNumber 和 DOB。在表达式生成器中,计算的文本框是 Age,当前计算如下:

=DateDiff("yyyy",[DOB],Now())+Int(Format(Now(),"mmdd")<Format([DOB],"mmdd"))  

我想将年龄计算更改为类似于以下伪代码:

=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 与填充其他控件的查询不同。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    我相信您正在寻找这样的东西:

    =IIf( 
        DCount("*", "qryActiveClients", "ClientNumber=" & [ClientNumber]) > 0, 
        DateDiff("yyyy",[DOB],Now())+Int(Format(Now(),"mmdd")<Format([DOB],"mmdd")),
        "NA"
        )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-11
      • 2019-01-16
      • 2018-03-24
      • 1970-01-01
      • 2014-01-07
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多