我有一个变量emailBody,它被设置为存储在数据库中的字符串。电子邮件正文通过dlookup函数设置为字符串。
emailBody = DLookup(“emailBody”,“listAdditions”,“Id =”& itemType)
电子邮件正文设置的字符串包含一个IIf函数(包括一个dlookup函数)。当
?emailBody在运行时在即时窗口中输入,它显示emailBody设置为以下字符串:
新商品是“& Iif(dlookup(”IsVague“,”CommodityType“,”Description =“& newItem)=”1“,”模糊。“,”不含糊“。)
但是,我希望评估dlookup和IIf函数,并将结果存储在字符串中。如何在我的数据库中正确格式化emailBody字符串(“新商品......”),以便评估函数并将结果存储在emailBody变量中?
答案 0 :(得分:1)
你的问题有点不清楚,但如果[Id](或[描述])是一个字符串,那么你的Dlookup必须是这样的:
emailBody = DLookup("emailBody", "listAdditions", "Id = '" & itemType & "'")
或
emailBody = DLookup("emailBody", "listAdditions", "Id = """ & itemType & """")
也就是说,你的常量应该用引号括起来。您可以使用'(单引号)或“”(加倍双引号)。
答案 1 :(得分:1)
我有点担心newitem的价值,但一般来说你可以使用Eval:
s = """The new commodity is"" & " _
& "Iif(dlookup(""IsVague"", ""CommodityType"", ""Description= "" & newItem)=""1"", ""vague."", ""not vague."")"
s2 = Eval(s)
我不确定这是怎么回事,想一想。
答案 2 :(得分:1)
所以你有一个存储在表字段中的确切字符串,并且你想让Access / VBA评估它,对吗?
"The new commodity is " & Iif(dlookup("IsVague", "CommodityType", "Description= " & newItem)="1", "vague.", "not vague.")
如果是这样,请尝试使用Eval()命令:
emailBody = Eval(DLookup("emailBody", "listAdditions", "Id = " & itemType))