Так как в данном случае используется простой фильтр по значению поля, писать строковое выражение для последующего использования его в запросе не нужно, лучше и правильнее использовать именно 2-й работающий вариант. В случае сложных запросов иногда требуется передать в запрос сформированное в виде текста условие, оно должно выглядеть примерно так (обратите внимание на внешние скобки и двойное равенство):
PHP код:
st = strFmt( ' (PriceDiscTable.Currency == %1 ) ', Currency );