![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка связанного поля
Vadim © (2005-02-20 22:39:00)Есть две таблицы в Access. Работаю через ADO. В первой через Loocup смотрю поле из второй. Как отсортировать первую таблицу по полю из второй? Не запросом!
Vadim (2005-02-21 09:21:00) [21]Нет, мастер детайл я не настраивал. Это же "детский" пример из любой книги по БД. Постараюсь объяснить на примере. Есть таблица городов (Access). Она связана (один-ко-многим) с таблицей улиц, та так же с табл. домов и т.д. Показываем все это в гриде. Открываем табл. городов, создаем виртуальное поле и loocup-им его с табл. улиц и т.д. Все замечательно. Теперь хотим различную сортировку. По городам, все работает. Sort по виртуальному полю - нет. Вообще - это классический пример (упрощенный) реляционной БД - показать все в одном гриде. Вот только еще и отсортировать бы ...
sniknik (2005-02-21 00:53:00) [22]> используется самим обьеденинием мастер детайл.
имею ввиду что по нему самой связкой строится такой же временный индекс, и он используется, а собственной сортировкой по нему ты разрушаеш установленную связь.
sniknik (2005-02-21 00:50:00) [23]наверное разочарую тебя... но, ADOTable1 это не совсем table, если специально ничего не делал, это компанент под простой запрос вида select * from ADOTable1.TableName... т.е. запрос ты уже используеш гесмотря на нежелание.
потом, Sort это не индекс это сортировка рекордсета в памяти (временный индекс), кстати если оно у тебя работает, это признак того что рекордсет локальный, и в этом случае пофигу как таблицы связаны, рекордсет "цельный" и сортируется по любому болю, даже фиктивному...
другое дело, что твоя "философия" отличается от моей и под связанными полями ты чтото другое имееш ввиду.
вот что? судя по всему настроил связь мастер детайл и или береш поле из другой таблици (бред, у первой поле из второй прописывать) или поле по которому связь а оно используется самим обьеденинием мастер детайл.
Vadim (2005-02-20 23:50:00) [24]Есть на нем индекс :-((
И почему странно? Локальная база и несложная, много записей ...
Но это все философия.
В общем, создаю как полагается новое поле ... (D7) в первой таблице, связываю с полем со второй.
ADOTable1.Sort := 'Родное поле'; сортирует нормально, а
ADOTable1.Sort := 'Новое связанное поле'; кирдык!
Anatoly Podgoretsky (2005-02-20 23:42:00) [25]Индекс на это поле. Только странно работать с акцесс не через запросы.
Vadim (2005-02-20 23:38:00) [26]Это понятно, спасибо. НО надо НЕ запросом !!!
Anatoly Podgoretsky (2005-02-20 23:32:00) [27]ORDER BY Table1.LookupField