Показать сообщение отдельно
Старый 25.12.2003, 17:20   #1  
Vasilenko Alexsandr is offline
Vasilenko Alexsandr
Участник
Дети Юза
 
90 / 16 (1) ++
Регистрация: 05.09.2002
Адрес: Одесса
:( Сложный запрос в DataSource формы
PHP код:
public void executeQuery()  
{      
CustTable             _custTable// Тип - таблица на которой основан DataSource
     
QueryBuildDataSource  qbds;
      ;     
      
_custTable this.cursor();
      
select _custTable 
             where  _custTable
.AccountNum like "1*" &&
                        
_custTable.AccountNum like "*2";    

Как тоже самое можно сделать используя Query. Дело в том, что если не отрабатывает super executeQuery(), то затем не фозможно делать поиск по полю или наложить стандартный фильтр средствами Аксапты.
Пытался строить следующую конструкцию:
PHP код:
public void executeQuery()  
{      
QueryBuildDataSource  qbds;
      ;
      
qbds this.query().dataSourceTable(tablenum(CustTable));
      
qbds.addRange(fieldnum(CustTableAccountNum)).value(strfmt("(%1.%2 like %3) && (%1.%2 like %4)",
                                                                  
qbds.name(),
                                                                  
fieldstr(CustTableAccountNum),
                                                                  
"\"1*\"",
                                                                  
"\"*2\""));
      
super();

qbds имеет значение:
new SELECT * FROM CustTable USING INDEX AccountIdx WHERE (((CustTable.AccountNum like "1*") && (CustTable.AccountNum like "*2")))
но в super() ошибка.
Кто может помогите!! Заранее благодарю!!