|
|
#23 |
|
MCTS
|
Цитата:
Здесь ключевые слова "расширенный фильтр" и "like". Расширенный фильтр like не поддерживает, по крайне мере в 3.0 точно.
Есть таблица Table1: Field1 Field2 Field3 Field4 100 Глав_1 П_1 F_1 100 Пред_1 Д_1 S_2 100 Пред П_3 S_3 Код: X++: Query q;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
QueryRun qr;
Table1 table1;
;
q = new Query();
qbds = q.addDataSource(TableNum(Table1));
qbr = qbds.addRange(fieldNum(Table1, Field2));
qbr.value(strFmt('( (%1.%2 like "Глав_*") || ((%1.%3 like "П_*") && (%1.%4 like "S_*")))',
q.dataSourceTable(tableNum(Table1)).name(),
fieldStr(Table1, Field2),
fieldStr(Table1, Field3),
fieldStr(Table1, Field4)));
info(q.dataSourceNo(1).toString());
qr = new QueryRun(q);
while (qr.next())
{
table1 = qr.get(TableNum(Table1));
info(table1.Field2);
}Цитата:
Сообщение (12:27:52)
SELECT * FROM Table1 WHERE ((( (Table1_1.Field2 like "Глав_*") || ((Table1_1.Field3 like "П_*") && (Table1_1.Field4 like "S_*"))))) Глав_1 Пред Единственное отличие - это поставлены кавычки на каждое значение. Но без них выдает "Ошбку расширенного диапазона." Последний раз редактировалось Eldar9x; 17.03.2009 в 10:43. |
|
|