![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть 5 таблиц (MS SQL Server 2008) - Заказчики, заказы, товары, поставки и поставщики. Ставлю по 5 компонентов TADOTable и TDataSource. Дальше, как я понимаю, необходимо связать эти таблицы, делается это через поля MasterSource и MasterFields, и вот тут возникает проблема - таблица "Товары" должна быть связана с таблицами "Заказы" и "Поставки", но поле в MasterSource позволяет ввести имя только одного DataSource.
![]() Мб кто нибудь знает, как можно решить эту проблему? |
#2
|
|||
|
|||
![]() Делай на оборот....связывай "Заказы" и "Поставки", с таблицей Товары!
|
#3
|
||||
|
||||
![]() Что-то вы не то делаете. Скиньте картинку схемы данных из MSSQL
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
![]() |
#5
|
||||
|
||||
![]() по моему в d7 есть ограничение на связи, три таблицы не могут быть связаны, а только две, одновременно.
Arrrgh |
#6
|
||||
|
||||
![]() Вы что-то не так делаете в Дельфи. Должно быть так:
Товары.Идентификатор->Поставки.ИдентификаторТовара Товары.Идентификатор->Заказы.ИдентификаторТовара Если вы все делаете согласно схеме MSSQL то все прекрасно будет работать. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() Нашел решение.
![]() Необходимо было делать связи от таблиц "Поставки" и "Заказы" к таблице "Товары", но тут вылезала ошибка "Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом". При этом если делать связи в обратную сторону, т.е. от таблицы "Товары" к таблицам "Поставки"/"Заказы", то ошибки не возникает... почему - не знаю.) Ну да ладно, проблема в том, что атрибуты имеют русские названия. Как ее решать: 1. Ставим поля таблиц "Active" в состояние "False" 2. Выбираем необходимые нам MasterSource и MasterFields 3. Дальше автор предлагает полностью удалить поле IndexFieldNames, меня это таки смущает, я выбрал другой способ - заключить его содержимое в квадратные скобки, т.е. если было "Идентификатор товара", то стало "[Идентификатор товара]" 4. Ставим поле "Active" в состояние "True" 5. Пляшем.) Откуда спер: http://www.delphikingdom.com/asp/ans...IDAnswer=50972 Автор: Selya Если баян - то я не виноват.) |
#8
|
||||
|
||||
![]() Я ведь не зря Вас сразу просил показать схему в MSSQL. Если бы вы внимательно посмотрели, то увидели-бы что все составняе поля в ней взяты в квадратные скобки, и правильное направление связи указано символами ключик и бесконечность, что означает один ко многим.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |