2010-03-08 54 views
1

我有一個變量,emailBody,它被設置爲一個存儲在數據庫中的字符串。電子郵件正文通過dlookup函數設置爲字符串。字符串中的函數幫助

emailBody =使用DLookup( 「emailBody」, 「listAdditions」, 「ID =」 & ITEMTYPE)

該電子郵件主體被設置爲包括IIf函數(其包括查閱函數)的字符串。 ?當
在運行時立即窗口中輸入emailBody,它表明emailBody設置爲以下字符串:

新的商品是「& IIF(使用DLookup(‘IsVague’,‘CommodityType’,」說明=「&的newitem)=」 1" ,‘模糊’,‘不能含糊’)。

不過,我想使用DLookup和I如果功能進行評估,並存儲在字符串中的結果。怎麼辦我在我的數據庫中正確格式化emailBody字符串(「新商品...」),以便評估函數並將結果存儲在emailBody中竹葉提取?

回答

1

你的問題是有點不清楚,但如果[ID](或[說明])是一個字符串,那麼你使用DLookup必須是這樣的:

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

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

那是,你的常數應該被引號包圍。您可以使用'(單引號)或「」(加倍雙引號)。

1

我有些擔心的newitem的價值,但一般而言,您可以使用eval:

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

我不知道這是去了,想想它的方式。

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))