Страница 1 из 1

Условия в WHERE на закладке Conditional Behavior

Добавлено: 17 Январь 2008, 9:38
Admin
Вот условия сгенеренные шаблоном

Код: Выделить всё

 IF FilterGroup1.HideEmptyAccounts=TRUE
  SELF.Select.Where(AB:QtyEnd,'0','>','(AND')
 END
 IF FilterGroup1.HideEmptyAccounts=TRUE
  SELF.Select.Where(AB:Qty,'','is null','OR)')
 END
в результате получается

Код: Выделить всё

 (D."QtyEnd">? OR D."Qty" is null

Пришлось делать

Код: Выделить всё

 IF FilterGroup1.HideEmptyAccounts=TRUE
  SELF.Select.Where(AB:QtyEnd,'0','>','(AND')
 END
 IF FilterGroup1.HideEmptyAccounts=TRUE
  SELF.Select.Where(AB:Qty,'','is null)','OR') ! ручная вставка
 END
в результате получилось как нужно

Код: Выделить всё

(D."QtyEnd">? OR D."Qty" is null)

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 02 Февраль 2008, 6:51
Admin
Кстати. Ждем свежую версию библиотеки :D

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 02 Февраль 2008, 8:34
Smith
Во - во ... Ждем-с

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 04 Февраль 2008, 12:38
Andrew™
все фильтрующие шаблоны к Browse имеют метод .CloseWhere(), что означает поставить закрывающую скобку если таковой нет (проверка в методе на наличие скобочки имеется)

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 04 Февраль 2008, 13:38
Admin
Andrew™ писал(а):все фильтрующие шаблоны к Browse имеют метод .CloseWhere(), что означает поставить закрывающую скобку если таковой нет (проверка в методе на наличие скобочки имеется)
Хорошо. Попробую повторить в апликашке и прислать скриншоты.

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 04 Февраль 2008, 14:05
Admin
Смотрим код

Код: Выделить всё

BRW5:Browse.Where                        PROCEDURE
 CODE
 SELF.Select.Relation(SQLAccPos:ProductNumber,SQLProducts:ProductNumber,False)
 SELF.ResetField
 SELF.SP &= NULL
 SELF.Select.Where(SQLAccPos:AccRef,SQLAccounts:AccRef,'=','AND')
 SELF.Select.Where(SQLAccPos:Qty,'1','=','(OR')
 SELF.Select.Where(SQLAccPos:Qty,'','is null','OR)')
 SELF.ResetField(SQLAccounts:AccRef)
 IF SELF.QBE.Where()
  RETURN
 END
 PARENT.Where
И результат

Код: Выделить всё

Computer : SEA
User     : mixer
Date     : 04.02.2008
Time     : 21:01:21
Program  : C:\Clarion6\Examples\Mav\MAV_tvDemo\abcmavt.exe
Error    : [102] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'null'. [42000] (42000)
           SQL Statement -
           7413256 Binding field 1 A."AccRef"           = 0
           7413256 Binding field 2 A."Qty"              = 1
           SELECT A."AccRef",A."Pos",B."Description",A."Qty",A."Price",A."Total" FROM MAVT_ACCPOS A LEFT OUTER JOIN MAVT_PRODUCTS B ON B."ProductNumber"=A."ProductNumber" WHERE A."AccRef"=? OR (A."Qty"=? OR A."Qty" is null

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 05 Февраль 2008, 15:32
Andrew™
в последнем условии то надо не (OR а OR) - закрывающуюся скобочку

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 05 Февраль 2008, 15:42
Admin
Последнее условие на картинке SNAG-0001.png так что все равно ждем ответа...

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 06 Февраль 2008, 8:24
Admin
Последняя наша версия MAV будет работать с Clarion 9058 ?

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 06 Февраль 2008, 10:51
Andrew™
Admin писал(а):Последнее условие на картинке SNAG-0001.png так что все равно ждем ответа...
в данном сочетании действительно была ошибка, исправлено, линк на обновление ушёл мылом

Re: Условия в WHERE на закладке Conditional Behavior

Добавлено: 06 Февраль 2008, 10:52
Andrew™
Admin писал(а):Последняя наша версия MAV будет работать с Clarion 9058 ?
сборка идёт на 56 билде, проблем в 58 её использования не будет