【问题标题】:Help with function in string字符串中的函数帮助
【发布时间】:2010-03-08 15:53:25
【问题描述】:

我有一个变量 emailBody,它被设置为存储在数据库中的字符串。电子邮件正文通过 dlookup 函数设置为字符串。

emailBody = DLookup("emailBody", "listAdditions", "Id = " & itemType)

电子邮件正文设置的字符串包含 IIf 函数(其中包含 dlookup 函数)。什么时候
?emailBody 在运行时在即时窗口中输入,表明 emailBody 设置为以下字符串:

新商品是" & Iif(dlookup("IsVague", "CommodityType", "Description=" & newItem)="1", "vague.", "not vague.")

但是,我希望评估 dlookup 和 IIf 函数并将它们的结果存储在字符串中。如何在我的数据库中正确格式化 emailBody 字符串(“新商品...”),以便评估函数并将结果存储在 emailBody 变量中?

【问题讨论】:

    标签: string vba syntax function


    【解决方案1】:

    你的问题有点不清楚,但是如果[Id](或[Description])是一个字符串,那么你的Dlookup一定是这样的:

     emailBody = DLookup("emailBody", "listAdditions", "Id = '" & itemType & "'")
    

     emailBody = DLookup("emailBody", "listAdditions", "Id = """ & itemType & """")
    

    也就是说,你的常量应该用引号括起来。您可以使用 '(单引号)或 ""(双引号)。

    【讨论】:

      【解决方案2】:

      我有点担心newitem的值,但一般情况下可以用eval:

      s = """The new commodity is"" & " _
      & "Iif(dlookup(""IsVague"", ""CommodityType"", ""Description= "" & newItem)=""1"", ""vague."", ""not vague."")"
      s2 = Eval(s)
      

      我不确定这是要走的路,请考虑一下。

      【讨论】:

        【解决方案3】:

        所以您将这个确切的字符串存储在表字段中,并且您希望 Access/VBA 对其进行评估,对吗?

        "新商品是" & Iif(dlookup("IsVague", "CommodityType", "Description=" & newItem)="1", "vague.", "not vague.")

        如果是这样,请尝试 Eval() 命令:

        emailBody = Eval(DLookup("emailBody", "listAdditions", "Id = " & itemType))

        【讨论】:

          猜你喜欢
          • 2011-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-21
          相关资源
          最近更新 更多