Сортировка в Lookup-поле
Всем привет!
Уже много лет не могу найти ответ на довольно важный вопрос... Я разработал несколько файл-серверных БД (таблицы формата MSAccess), и в каждом проекте возникает необходимость в сортировке Lookup-полей. Сортировка, конечно, работает, но сортирует она по коду записи в справочной таблице, а мне нужно, чтобы сортировка шла по текстовому полю "Наименование" из этой справочной таблицы.
Например, у меня есть таблица "Технические параметры", одно из полей которой - ссылочное "Единицы измерения". Мне нужна сортировка по наименованию единицы измерения, а не по коду записи, вот в чём вопрос.
Конечно, я придумал способ, как это сделать, но он сильно корявый: в "основную" таблицу, содержащую Lookup-поле, вводится дополнительное текстовое поле, в котором по Post сохраняется интересующее нас текстовое значение из справочной таблицы, а при попытке сортировки по данному полю идёт подмена для осуществления сортировки с задействованием данных скрытого дополнительного поля.
Решение совершенно не изящное, т.к. приводит к ненужному дублированию данных, и, кроме того, необходимо периодически выполнять процедуру обновления упомянутых текстовых сортировочных данных, дабы они были актуальны.
И вот вопрос - а может я дурак и просто не знаю очевидного, простого решения данного вопроса? Ведь ситуация, по-моему, очень распространённая, когда хочется сортировать не по коду записи, а по отображаемым в лукап-столбце данным... Может есть таки решение?
|