-
Всем привет. Такая вот проблемка вышла: База на ACCESS. Есть основная таблица со всякими полями, одно из них поле "ФИО" - числовое, т.к. данные (сами фамилии) берутся с другой таблицы, например (Фамилии), где связуется по ключевому полю "key1". Программа работает нормально, всё сортируется, но сортируется не по алфавиту, хотя фамилии с первыми одинаковыми буквами стоят рядом. Сам вопрос таков - как сортировать по алфавиту такие поля, т.е. связанные по ключевым полям с другой таблицы? Буду благодарен за подробный ответ.
-
> всё сортируется, но сортируется не по алфавиту
по какому полю сортируется?
-
> берутся с другой таблицы как берутся? присоединение в запросе, на клиенте, подстановочное поле... в запросе без ORDER BY порядок записей не определен.
> Буду благодарен за подробный ответ. требуется подробный вопрос.
-
Есть две таблицы BaseTable и FIOTable. В таблице BaseTable поле "FIO"-числовое. В таблице FIOTable поля "key1"-счётчик, "Фамилия"-текстовый. Сортировка сейчас прописана так: DataModule1.BaseTable.IndexFieldNames:='FIO'; (где поле 'FIO' - числовое). В Dbgrid1 дополнительное поле 'FIO1' через LookUpDataset=FIOTable LookUpKeyFields=key1 LookUpResultFields=Фамилия При сортировке фамилии отображаются не по алфавиту, например: Иванов А. Иванов Б. Алёшин К. Петров И. Петров И. Если фамилия одинаковое, то они стоят вместе, но необходимо сделать и по алфавиту от "А" до "Я". Естественно, если бы поле 'FIO' было текстовое и там прописывались бы непосредственно фамилии, то сортировка бы работала как полагается, но данные берутся с другой таблицы. Вот тут-то и загвоздка как мне отсортировать по алфавиту?
-
Куда (похоже что какой то грид) и чем (если запрос, то приведи его) выводишь результат?
-
Куда (похоже что какой то грид) и чем (если запрос, то приведи его) выводишь результат?
-
Куда (похоже что какой то грид) и чем (если запрос, то приведи его) выводишь результат?
-
select b.*, f.* from BaseTable as b join FIOTable as f on b.FIO = f.key1 order by f.Фамилия
-
> но данные берутся с другой таблицы. Вот тут-то и загвоздка как мне отсортировать по алфавиту? нет никакой загвоздки... сортировка делается с помощью order by... в запросе, в ADODataSet, или после запроса в Sort, или в IndexFieldNames в той таблице для которой нужна сортировка. а так если делать в одной, а ждать что вторая отсотритуется то конечно не получится.
|