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

Фильтр в BROWSE

Добавлено: 21 Ноябрь 2006, 15:11
Malex
Имется: Win'XP SP2, Clarion 6.2 шаблоны АВС, таблица в Oracle, в которой имеется поле Date_V (date). А вот Clarion в словаре, преобразует это поле на два Date_V_Date(date) и Date_V_Time (time). Таблица выводится в Browse, в котором пытаюсь установить фильтр типа
Date1 <= Date_V_Date AND Date_V_Date <= Date2
где Date1, Date2 - глобальные переменные типа date
Date_V_Date - поле в таблице ORACLE типа date описанное выше.
Выдается ошибка:
BIND has not been called for (1011) attempting to open the current VIEW.
Каким образом можно фильтровать таблицу по дате ? В Cla55 такого не было. Проходил номер Clip(<поле даты (Str8)>) <= Clip(<(<поле даты (Str8)>)

Добавлено: 21 Ноябрь 2006, 16:02
Tolusha
Перед использованием переменных в фильтре, им сначала нужно сделать BIND.

Добавлено: 21 Ноябрь 2006, 16:41
Malex
В Clarion 6.2 автоматически включается в BIND. Фокус в том, что глобальные переменные и обычные поля таблицы включаются автоматом в разделе (закладке) Template Defined. А вот те, которые разделенные не включаются. Пробовал включить их в Developer Defined. Всеравно сообщение об ошибке.

Добавлено: 21 Ноябрь 2006, 17:42
Tolusha
А префикс файла перед Date_V_Date куда дел? Только что проверил для MySql. Все ok.

Добавлено: 21 Ноябрь 2006, 18:52
lsgsoftware
Эта проблема периодически возникает и в архивах форума, и в факах подробно разбиралась. Я использую в своих проектах ламерский приемчик, объявляя дату и время как поля int.Все работает прекрасно и до конца 21-го века хватит. Но, если база чужая, то поизучай архивы сайта и форума.

Re: Фильтр в BROWSE

Добавлено: 21 Ноябрь 2006, 19:30
Andrew™
Malex писал(а): Каким образом можно фильтровать таблицу по дате ? В Cla55 такого не было. Проходил номер Clip(<поле даты (Str8)>) <= Clip(<(<поле даты (Str8)>)
по хорошему надо генерить BETWEENы внутри диапазона дат, не знаю может ли это FILE,DRIVER('SQL'), время в клаше и время в MSSQL , например, отличается точностью