2013-03-27 84 views

回答

5

你應該能夠通過查詢使用'髒技巧'得到你想要的。 有一種方法可以通過使用DataArea字段或RecId字段並放入表達式來將查詢範圍中的自定義表達式。

實施例:

query = new Query(); 
dsInventTable = query.addDataSource(tableNum(InventTable)); 

// Add our range 
queryBuildRange = dsInventTable.addRange(fieldNum(InventTable, DataAreaId)); 

queryBuildRange.value(strFmt('((%1 == %2) || ((%1 == %3) && (%4 == "%5")))', 
    fieldStr(InventTable, ItemType), 
    any2int(ItemType::Service), 
    any2int(ItemType::Item), 
    fieldStr(InventTable, ProjCategoryId), 
    queryValue("Spares"))); 

參見下鏈路的詳細資料:Expressions in query ranges

+0

在ADITION這個語法,則可以使用queryValue()函數的任何類型的任何變量轉換爲有效的字符串可用於查詢範圍。 – 2013-04-04 13:11:44