![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка по Lookup-полю... [D6, Access]
Verq © (2002-06-09 23:31:00)Господа,
имеются две таблицы
Table1(idx:счётчик, Avtor: Integer)
Table2(idx:Счётчик,Name: String)
Имеем грид, объединяющий эти две таблицы, одна из колонок грида - LookUp.
Вопрос: как отсортировать по видимому значению LookUp поля, а не по скрытому, на самом деле использующеся (т.е. сортироовать нужно по значению Name, а не по
Avtor). С обычными полями всё понятно - просто динамически дописываем Order By в инструкцию SQL, а чё с этими делать, а то сортирует не имена, а цифры поля Автор :(
P.S.: добавление Order By к запросу происходит после тычка на column.title.
John Kayfolom (2002-06-20 13:37:00) [1]Можно попытаться сформировать таблицу
Table2(idx:Счётчик,Name: String)
с одинаковым направлением сортировки idx и Name
Конечно при добавлении новой записи придется переколбашивать всю таблицу Table2 и апдейтить Avtor из Table1
Verq (2002-06-11 22:38:00) [2]Ага, понял что ты говоришь, по цифрам которые в поле Avtor (связанные с KeyField) в запрос добавляем имя автора из дугой таблицы и по нему сортируем. Как до жирафа .) ... Спасибо большое!
fnatali (2002-06-11 06:18:00) [3]Какая разница, есть это поле в гриде или нет, я же тебе про запрос говорила. Отображать нужно только те поля, которые тебе необходимы.
Verq (2002-06-10 22:22:00) [4]fnatali: в моём случае это не пройдёт, так как самого поля Name в гриде не видно :(, а сортировка происходит динамически по щелчку на заголоке столбца в гриде, вот. Если бы всё было так просто (хотя, стоит подумать именно про упрощение, как я понял для меня это лишним не будет)!
Всем спасибо за ответы, буду разбираться.
SB.John (2002-06-10 16:00:00) [5]Потому что про INNER JOIN я ничего не знаю. Буду благодарен, если объяснят.
TSV (2002-06-10 13:03:00) [6]Реализуемо. Еще лучше в Access вид (запрос) создать, а из приложения простой SELECT выполнять. Можно указать в свойствах ADOQuery, какую таблицу ( Unique Table) обновлять (запрос у нас многотабличный). И все будет "пучком" ;-). Единственное, почему outer, а не INNER JOIN?
Удачи.
SB.John (2002-06-10 12:05:00) [7]В твоем случае, вроде никак. Это делается одним запросом
select Table1.idx,Table1.Avtor,Table2.Name from Table1, outerTable2
where Table1.Avtor = Table2.idx
order by Table2.Name
И уже к этому запросу подцепляй DBGrid. Правда, не уверен, что это реализуемо в Access.
fnatali (2002-06-10 09:17:00) [8]В запросе и сортируй по полю Name из Table2