|
25.09.2006, 12:22 | #1 |
Участник
|
Помогите такой вопрос написать в Аксапте
Запрос на SQL
Код: select * from Table where a1 not like '%*' |
|
25.09.2006, 12:34 | #2 |
Модератор
|
X++: select * from Table where a1 like ! '/*' |
|
25.09.2006, 12:36 | #3 |
Участник
|
Типы операнда не совместимы с оператором.
хотя a1 тип String |
|
25.09.2006, 12:39 | #4 |
Участник
|
Без восклицательного знака компилиться
|
|
25.09.2006, 12:41 | #5 |
Axapta
|
X++: static void Job46(Args _args) { Query q=new Query(); QueryBuildDataSource qbds; QueryRun qr; VendTable vendTable; ; q.addDataSource(tableNum(VendTable)).addRange(fieldNum(Vendtable, accountNum)).value('!*а'); qr = new QueryRun(q); while (qr.next()) { vendTable = qr.get(tableNum(VendTable)); info (vendTable.AccountNum); } } |
|
25.09.2006, 12:42 | #6 |
Участник
|
Во-первых, Георгий перепутал символ слеша - нужен для escaping'га - back-slash ('\')
А во-вторых , нужно ! поставить перед всем условием а не перед значением where !(a1 like '\*'); Но даже так запрос не будет отрабатывать так как вам нужно. По идее, надо бы написать что-то типа '*\*' - но компилятор не хочет понимать эту строку так, как нам бы этого хотелось |
|
25.09.2006, 12:45 | #7 |
Axapta
|
Хм... Надо, чтобы именно на символ '*' не заканчивался?
|
|
25.09.2006, 12:46 | #8 |
Axapta
|
X++: static void Job46(Args _args) { Query q=new Query(); QueryBuildDataSource qbds; QueryRun qr; VendTable vendTable; ; q.addDataSource(tableNum(VendTable)).addRange(fieldNum(Vendtable, accountNum)).value('!*\\*'); qr = new QueryRun(q); while (qr.next()) { vendTable = qr.get(tableNum(VendTable)); info (vendTable.AccountNum); } } |
|
25.09.2006, 12:49 | #9 |
Axapta
|
Или
X++: while select * from VendTable where !(vendTable.AccountNum like '*\\*') { info (vendTable.AccountNum); } |
|
25.09.2006, 12:51 | #10 |
Участник
|
|
|
25.09.2006, 12:52 | #11 |
Axapta
|
Проверь.
PS Про то, что вместо спасибо кликают на зеленый квадратик говорить не буду, т.к. Вы все равно не сможете этого сделать. Надо бы, чтобы ограничение на репутацию одному и тому же юзеру было не "не менее трех других", а "Не менее трех других или не менее _сколько-то там_ дней", тогда и накрутки не будет, но при этом и поблагодарить всегда можно будет. Последний раз редактировалось oip; 25.09.2006 в 12:56. |
|
25.09.2006, 12:52 | #12 |
Участник
|
Спасибо за помощь!
|
|
25.09.2006, 12:55 | #13 |
Участник
|
Проверил на формочке, вставлял в "Найти"
С одним слэшом нормально работает, а вот с двумя вернул пару строк, у которых есть "\" в имени |
|
25.09.2006, 13:04 | #14 |
Участник
|
Ты проверь в запросе - в запросе оно правильно отработает - так как там по-другому escaping спец.символов делается.
|
|