|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi и Paradox связь таблиц
Доброе время суток!
я пишу приложение для СУБД Paradox в Delphi 7 с несколькими связанными таблицами. Там есть таблица "Предметы", данные для которой берутся из таблиц "Материал", "Вид предмета", (где поля с названиями являются первичными ключами) и пр. Как я понимаю, те таблицы, из которых берутся данные для другой таблицы, являются для нее родительскими. То есть у таблицы "Предметы" куча родительских таблиц. Я использую компоненты BDE: TTable, TDataSource. чтобы установить связь между двумя Table, нужно установить для нее свойство MasterSource. Но вот какая незадача: для одного TTable можно установить ТОЛЬКО ОДИН MasterSource. а мне нужно бы много. Как быть? И еще вопрос: может ли таблица состоять из одного столбца? и еще: допустим, я просматриваю записи таблицы "Предметы" и добавляю новые, данные беру из родительских таблиц. как в этом случае применить связь между этими таблицами (свойства TTable)? Так, как описано в книге Архангельского (то есть при перемещении по родительской таблице одновременно отображаются только те записи дочерней таблицы, где значения вторичного ключа совпадают со значениями первичного ключа родительской таблицы) - кажется, не пригождается, когда я открываю форму с родительской таблицей, чтобы выбрать из нее данные.. а, наверно, используется только при поиске записей дочернней таблицы по определенному значению из родительской. таблицы просмотра тоже, вроде, здесь не нужны... пока я просто пользуюсь средствами Delphi (открываб форму с таблицей "Материалы" и кнопкой выбираю нужную запись). и еще я сделала ссылочную целостность в DBD в разделе Referentilal Integrity (как применить теперь имена этих ссылок в delphi, не знаю).но понимаю, что это еще не есть использование возможнойстей delphi. может, таблица с предметами является именно родительской? хотя логически это не так...( пожалуйста, посоветуйте, помогите! От этой программы очень многое зависит. Заранее спасибо. |
#2
|
|||
|
|||
1. Забей на Paradox и возьми нормальную BD, например FireBird.
2. Ты путаешь Master/Detail таблицы и справочники. На самом деле, те твои дополнительные таблицы являются справочниками и делаются через LookUp-поля. |
#3
|
|||
|
|||
А подробнее можно?
как именно здесь применить поля просмотра? |
#4
|
|||
|
|||
и еще: эти таблиц (содержащая просматриваемое поле и содержащая поле просмотра) будут в разных формах.
|