..skipped...
> Потому как если я создам для dbo.t2 индекс по полю name и в > t2.indexname его пропишу, то связь с t1 пропадёт... может так попробовать IndexFieldNames='id1;id2'
где id1, id2 индексы в подчиненной таблице
Имеется БД под MS SQL 2000, доступ к которой осуществляется посредством BDE (тихо, не ржите). Например, имеется мастер-таблица (dbo.t1) и подчинённая (dbo.t2). На сервере они правильно связаны и всё такое (т.е. создан primary key для поля id в t1, и foreign key в t2 установлен в t1_id - в общем, связь работает ).
Далее на форме table1:TTable & table2:Ttable (привязываем их соответственно к t1 & t2). Table2.MasterSource:=Datasource1 В Field Links Designer устанавливаем связь t1_id -> id. Подчинённая таблица тоже замечательно работает - отображаются только нужные записи.
Теперь вопрос. В таблице t2, помимо поля t1_id есть поле name. Хотелось бы иметь подчинённый набор записей, отсортиврованный именно по этому полю. Как это сдлеать?
Потому как если я создам для dbo.t2 индекс по полю name и в t2.indexname его пропишу, то связь с t1 пропадёт...
Так, всем спасибо.05.11.02 13:59 Автор: ZloyShaman <ZloyShaman> Статус: Elderman Отредактировано 05.11.02 13:59 Количество правок: 1
Проблема решилась созданием второго индекса в таблице dbo.t2 для поля name. В Делфях в table1.indexfieldnames:=t1_id, name
Видимо Cyril это и имел в виду.
Всем спасибо. Сорри за ламерство :)
[Pascal] Сотртировка в подчинённой таблице05.11.02 13:39 Автор: Chingachguk <Chingachguk> Статус: Member
> Имеется БД под MS SQL 2000, доступ к которой осуществляется > сдлеать? {...}
> Потому как если я создам для dbo.t2 индекс по полю name и в > t2.indexname его пропишу, то связь с t1 пропадёт...
Немного не так. Нужно сделать двойной индекс(составной ключ) в таблице t2:
Index -> id,name
Если тебе нужно отобрать подчиненные записи в table2, то нужно делать такой выбор:
Все записи из Table2, у которых id=id заданному :)
[Pascal] Сотртировка в подчинённой таблице04.11.02 19:22 Автор: Cyril <sc> Статус: Member
..skipped...
> Потому как если я создам для dbo.t2 индекс по полю name и в > t2.indexname его пропишу, то связь с t1 пропадёт... может так попробовать IndexFieldNames='id1;id2'
где id1, id2 индексы в подчиненной таблице
[Pascal] Ничего не понял05.11.02 09:56 Автор: ZloyShaman <ZloyShaman> Статус: Elderman
> ..skipped... > > Потому как если я создам для dbo.t2 индекс по полю > name и в > > t2.indexname его пропишу, то связь с t1 пропадёт... > может так попробовать IndexFieldNames='id1;id2' > где id1, id2 индексы в подчиненной таблице Во-первых, как я могу в IndexFieldNames прописать имена индексов?! Или ты иммел в виду поля, которым будут соответствовать индексы?
Во-вторых, по каким полям должны быть эти индексы id1 и id2.