![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LookUp - помогите!!! Может кто встречался с задачей. [D6, MSSQL]
gizar © (2003-05-16 17:00:00)Доброе время суток!
Вопрос вообщемто простой:
Как организовать поиск и сортировку по LookUp полю в компоненте ADODataSet.
Заранее благоджарен за помощь.
Alex Friend (2003-05-17 11:33:00) [1]Поиск
i:Integer;
begin
edit2.text:="";
label1.caption:="";
if edit1.text="" then
showmessage("Введите данные")
else
begin
s:=Edit1.Text;
i:=form5.Table1.Lookup("Name_Fam", s, "Key_fam");
if form5.table4.Locate("Key_fam", i, []) then
label1.caption:=Form5.table4["fam"]+" "+Form5.table4["name"]+" "+Form5.table4["otch"]+" "+form5.table4["N_pass"]
else
showmessage("Покупатель с такой фамилией не найден");
end;
end;
С проблемой сталкивались. Дело в том, что поле LookUp не существует в таблице, поэтому для сортировки его надо отключить свойство Connect у компонента DataBase
Silver_ (2003-05-17 10:29:00) [2]
> ЮЮ © (17.05.03 08:50)
> В ADODataSet-е связать основную таблицу со справочной использовать
> поле справочной таблицы для сортировки.
В таком случае и вопрос про поиск должен отпасть так как в данном ADODataSet-е будет поле по которому надо искать.
ЮЮ (2003-05-17 08:50:00) [3]В ADODataSet-е связать основную таблицу со справочной использовать поле справочной таблицы для сортировки.
gizar (2003-05-17 07:12:00) [4]Про поиск то более менее понятно , а вот как отсортировать? Ведь DataSet не "видит" лукапное поле если скажем к нему обращатся через ADODataSet.Sort:="namelookup", где namelookup - поле типа fkLookUp.
Вот в чем вопрос....
Заранее благодарен за все мысли.
VAleksey (2003-05-16 17:57:00) [5]Делай выборку из спраочника по условию, а потом локате (или другой какой метод) по ид.
Silver_ (2003-05-16 17:13:00) [6]вопще-то искать придется в таблице (ADODataSet) где откуда берутся значения для LookUp поля. Нашел а потом по ID ищешь в таблице с LookUp полем.