|
![]() |
#1 |
Участник
|
Цитата:
0. это два совершенно разных вопроса. причем второй скорее всего неправильный. 1. для того, чтобы Аксапта искала записи, в которых содержится спецсимвол, то спецсимвол надо экранировать бэкслешем (\). Или использовать @-стиль написания строковых литералов например, while select mytable where myTable.myField == '\*' {} или @-стиль, while select mytable where myTable.myField == @'\' {} 2. для того, чтобы аксапта выбирала все ЗАПИСИ, то надо избавиться от условия where. Правильный способ работы с переменными услвоиями - это использовать Query. Если же вы хотите обязательно while select, то надо писать так str myRange = ''; while select mytable where (myTable.myField == myRange || myRange == '') {} 3. для того, чтобы аксапта выбирала все ПОЛЯ, ничего делать не нужно. Ваш запрос уже выбирает все поля, поскольку вы не перечислили ни одного поля в запросе. |
|
|
За это сообщение автора поблагодарили: Gustav (3). |
![]() |
#2 |
Участник
|
Задача:
На форме есть поле.. Если в поле что то стоит (есть значение), то нужно это использовать как фильтр, если же там ничего не стоит (пусто) то нужно игнорировать это условие (выбрать всё поля). С query не охота заморачиваться.. X++: str myRange = ''; while select mytable where (myTable.myField == myRange || myRange == '') {} Последний раз редактировалось Вата; 29.10.2008 в 12:28. |
|
![]() |
#3 |
Участник
|
А придется. Именно query предназначен для работы с пользовательскими условиями.
Вы конечно можете написать вот так X++: while select, str myRange = ''; while select mytable where (myTable.myField == myRange || myRange == '') {} http://axapta.mazzy.ru/lib/search/ разберитесь с query. |
|
![]() |
#4 |
Участник
|
можно конечно. FAQ http://forum.mazzy.ru/index.php?showtopic=173
Извините, что написал, не подумав, что вы введете в Аксапту именно этот код. Надо писать так X++: myStringType myRange = ''; while select mytable where (myTable.myField == myRange || myRange == '') {} X++: str 10 myRange = ''; while select mytable where (myTable.myField == myRange || myRange == '') {} |
|
![]() |
#5 |
Участник
|
Возможно вас устроит вот такая конструкция
X++: Select Table where ((value == '') || (Table.field == value)); |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
Теги |
как правильно, запрос (query), axapta |
|
|