Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

статические поля   Найти похожие ветки 

 
Andy Eremin ©   (2003-02-10 12:45) [0]

Мастера!
Статические поля не поддаются ни фильтрации, ни сортировке.
Как, например, отфильтровать fkLookup-поле?


 
Andy Eremin ©   (2003-02-10 12:46) [1]

P.S. я имею ввиду оператор LIKE


 
Соловьев ©   (2003-02-10 12:48) [2]

Select table1.f1, table2.f2, table2.lookup_field_name
from table1, table2
where table1.id_lookup=table2.id_lookup


 
Соловьев ©   (2003-02-10 12:49) [3]

+
order by lookup_field_name



 
Andy Eremin ©   (2003-02-10 13:09) [4]

2 Соловьев
Что за поля f1, f2 и как записывается table2.lookup_field_name?
Приведите, пожалуйста, пример с нарицательными полями.


 
Соловьев ©   (2003-02-10 13:12) [5]

Это "рыба". Просто пример. Опиши структуру своих таблиц.


 
Andy Eremin ©   (2003-02-10 13:21) [6]

Хорошо.
Вот такой пример:
Есть две таблицы Table1 & Table2 (материалы, модели) и основная таблица Query1. Все таблицы связаны полями Number. Необходимо производить фильтрацию Query1 по полю Query1.Name1=Table1.Name2+Table2.Name3.
Поля Name, Number - String


 
Соловьев ©   (2003-02-10 13:25) [7]


> основная таблица Query1

Это как? Как она у тебя формируется?


 
Соловьев ©   (2003-02-10 13:27) [8]

А че если:
Filter := NUMBER="3"
filtered := true;
Не работает?


 
Andy Eremin ©   (2003-02-10 13:36) [9]

Основа такова:
есть две БД - материалы и модели с уникальными номерами Number.
Я хочу получить единую БД (для итога).
Если быть точным, то все намного запутаннее, однако принцип построения Query1 это Table1+Table2.


 
User_OKA ©   (2003-02-10 13:45) [10]

А зачем в структуру базы вникать? Вопрос был возможна ли фильтрация и сортировка lookup-полей в принципе. Сам с такой фигней столкнулся. Не сортируются они у меня, гады! Если что-нибудь полезное здесь найду - буду рад.


 
VAleksey ©   (2003-02-10 13:46) [11]

Если поле типа fkLookup то по нему методами компонента TTable отфильтровать нельзя.
Можно применить фильтрацию к справочнику, и затем отобразить только те записи, в которых значения поля для связи одно из значений, оставшихся в справочнике.
PS
Путано немного, но надеюсь понятно.


 
Johnmen ©   (2003-02-10 13:47) [12]

OnFilterRecord и хоть обфильтруйся...:)))


 
Andy Eremin ©   (2003-02-10 13:51) [13]

2 User_OKA
Вот и я допытываюсь того же.
Если никто не поможет - есть крайний вариант:
1. Создать временное поле и сделать его ключевым (для скорости)
2. Записать туда чего надо
3. Отфильтровать
4. После закрытия окна удалить поле

Но это такой гемор-р-рой


 
Соловьев ©   (2003-02-10 14:22) [14]

2 Andy Eremin ©
select table1.name || table2.name as lookup
from table1, table2
where table1.numer=table2.numer
order by lookup


 
Andy Eremin ©   (2003-02-10 14:25) [15]

2 Johnmen
Хотелось бы фильтровать подобно LIKE,
а OnFilterRecord такого не позволяет (или я не знаю как),
т.к. при добавлении к концу записи * или % выходит сообщение об ошибке (если поле типа Float, а не String)


 
Соловьев ©   (2003-02-10 14:32) [16]

Если ты хочешь по числовому полю, так зачем like? Эта функция работает со строками, а если преобразуешь поле в своем Query1
напиши где числовое поле:
cast(float_field as varchar(10))


 
Andy Eremin ©   (2003-02-10 14:44) [17]

2 Соловьев
Таким образом мы соединили две таблицы. ЗДОРОВО.
Небольшая поправочка: третья таблица (Query1) также содержит поле Number и именно для ее записей необходимо сложить вышеупомятутые поля


 
Соловьев ©   (2003-02-10 14:46) [18]

В чем проблема то? все уже написано.


 
Johnmen ©   (2003-02-10 14:49) [19]

>Andy Eremin © (10.02.03 14:25)
>2 Johnmen
>Хотелось бы фильтровать подобно LIKE,
>а OnFilterRecord такого не позволяет (или я не знаю как),

Применяя OnFilterRecord можно фильтровать как угодно сложно !


 
Andy Eremin ©   (2003-02-10 14:58) [20]

2 Johnmen
Ну, хорошо. Как вы посоветуете отфильтровать по статическому полю? Его нужно для начала создать, или воспользоваться SQL-запросом. Как это сделать?
Если Вы знаете, почему не покажете это на примере (можно даже на моем -> описан выше).


 
Johnmen ©   (2003-02-10 17:04) [21]

>Andy Eremin © (10.02.03 14:58)

Не ясно, что непонятно...:)
Просто в обработчике OnFilterRecord "разглядываем" и анализируем поля записи на предмет возможности включения этой записи в фильтр. Если принято решение включить, то Accept:=True;
Поскольку OnFilterRecord вызывается каждый раз при обращении к записи (явном или нет), то получаем желаемое...




Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
7-87713
Digitman
2002-12-25 13:52
2003.02.27
Взаимодействие с процессом Services.exe


1-87388
Валентина
2003-02-17 22:15
2003.02.27
Графика


3-87317
Ru
2003-02-10 15:36
2003.02.27
BDE без BDE


6-87580
ApTuCT
2002-12-14 20:00
2003.02.27
Как реализовать TWebBrowser с разными куками?


1-87525
Sharik_212
2003-02-14 20:20
2003.02.27
Прозрачный CheckBox