Тема: Not Like в Query
Показать сообщение отдельно
Старый 14.01.2014, 13:54   #13  
maldini is offline
maldini
Участник
 
103 / 30 (2) +++
Регистрация: 06.03.2007
Адрес: москва
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Во внутреннем представление кодов полей. В первом случае query считает что поля разные, а условия на разные поля соединяются по 'И'.
Сравните
X++:
info("%1", fieldnum(table1,field1));
info("%1", fieldId2Ext(fieldnum(table1,field1), 1));
Заметьте, такой финт ушами позволит соединить два условия но не больше.
Так вот такое условие тоже дает И
X++:
addRange(fieldnum(table1,field1)).value(strfmt("!1*,!2*"));
Вот пример
X++:
    queryBuildDataSource = query.addDataSource(tablenum(InventTable));
    queryBuildDataSource.addSelectionField(fieldnum(InventTable, ItemId));
    queryBuildDataSource.addRange(fieldnum(InventTable, ItemId)).value(strfmt("!1*,!2*"));
А вот запрос отправляемый на SQL
Код:
Оператор SQL: (InventTable) SELECT A.ITEMID,A.RECID FROM INVENTTABLE A WHERE ((DATAAREAID=?) AND ( NOT ((ITEMID LIKE ? ESCAPE '\' )) AND NOT ((ITEMID LIKE ? ESCAPE '\' )))) ORDER BY A.DATAAREAID,A.ITEMID

Последний раз редактировалось maldini; 14.01.2014 в 13:57.