14.01.2002, 21:57 | #12 |
Участник
|
Я не удержался и попробовал.
Блин. У меня все делает. Все отбирает. За основу взял форму LedgerTransAccountPeriod. В init формы добавил range. super(); query = new Query(); query.addDataSource(tablenum(LedgerTable)); ledgerTable_ds.query(query); crit = ledgerTable_ds.query().dataSourceNo(1).addRange(fieldnum(LedgerTable, AccountNum)); В executeQuery датасоурса устанавливаю value criteria.value('*10*'); Все работает. У меня Axapta 2.5. Версия исполнимого файла от международного СП2. Такая проблема была в версиях 2.1 с неправильноустановленной кодировкой на SQL7.0 или на MSDE. Может все же кодировка? Цитата:
Изначально опубликовано PlasticinE
Способ-то, конечно, есть... Как я уже говорил, это проявляется только при использовании Ranges в Query. При подстановке в значение <i>Range</i> конструкции с <i>LIKE</i> Aксапта ругается и не может распарсить строку: Есть query в репозитарии. Есть query d формах и отчетах. Query понимают ranges и разбирают "*","?","..","<",">". select не разбирает ничего. В query нельзя писать like (Query поймет его как подстроку) В query можно явно подставить произвольный select как SQL-выражение. Тогда ничего разбираться не будет - что подставишь то и будет передаваться на SQL-сервер. В этом случае надо использовать метасимволы % и _. По-моему у тебя где-то в терминологии путаница. Или в настройках ODBC с SQL'ем. Цитата:
Изначально опубликовано PlasticinE
Но... Не я распоряжаюсь КАК вести учет и прочее. И не от меня зависит как будет стоять выравнивание... Вот и приходится работать с тем как есть... Но выравнивание! А кто ж еще кроме тебя будет определять такие сугубо программисткие вещи? Цитата:
Изначально опубликовано PlasticinE
Если же вставлять <i>LIKE</i> в обычный <i>SELECT</i>, то все замечательно работает. Но, как вами же, товарищ mazzy (ничего что я так - мне так привычней ), скзано - лучший подход при внедрении <b>Минимум программирования</b>. При этом минимальней получится добавить 1-2 <i>Range</i> в <i>Query</i>. Чем писать собственный <i>SELECT</i> с последующим разбором того что он выдал ручками... Или нет?.. (не претендую на высокий класс программирования) Что делаешь? Какой select и куда? Select Аксапты или Select SQL-я? Ты вставляешь range каким образом и в какие методы? На худой конец (это если конец совсем худой) скажи версию SQL, ODBC, кодировку базы на сервере. Слушай, а ты в каком методе устанавливаешь value? В ините формы? Если так... Дык, ведь это value будет переинициализировано в init'е датасоурса. |
|