Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Тройная связь


Автор: RinOSpro 24.10.2007, 13:27
Здравствуйте. Подскажите пожалуста почему так не стабильна тройная связь в делфи и как это исправить? 

Вот к прмеру у меня есть 3 таблицы каждая зависит от другой.

1 табл. контролеры

КодКонтролера        ФИОКонтролера        КоличествоАбонентов
1                                Иванова                     2
2                                Петрова                     2
и т.д.

2 табл. абоненты

НомерАбонента       Наименование          КодКонтролера        и т.д
49                             ОАО Визит                 1
50                             ОАО Веста                 2

3 табл. субабоненты

НомерСубАбонКлюч       НомерСубАбонента       Наименование          и т.д
1                                      49                                   Первый цех
2                                      49                                   Второй цех
3                                      50                                   Магазин 1
4                                      50                                   Магазин 2


и главным является таблица контролеры[КодКонтролера] с этим полем связана таблица абоненты[КодКонтролера] а с этим полем связана таблица 

субабоненты[НомерСубАбонента]

контролеры[КодКонтролера] -> абоненты[КодКонтролера] -> субабоненты[НомерСубАбонента]

Вот одна из проблем: к примеру я выбираю в табл Контролера, потом в др. табл. Абонента и в 3 таблице Cуб.абонента и связь Абоненты-СубАбоненты теряется. Я могу из под любого абонента просматривать всех суб абонентов. что такое хз.

Delphi-ADO-Acces

Cвязваю через MasterSours, MasterField. 

Помогите пожалуста  smile 

Автор: Savek 24.10.2007, 13:54
Цепляй тестовый проект, посмотрим

Автор: RinOSpro 24.10.2007, 14:12
А вообще как? Связи в делфи не глючные или я чтото не так делаю

Автор: Rodman 24.10.2007, 14:18
Цитата(RinOSpro @  24.10.2007,  14:12 Найти цитируемый пост)
чтото не так делаю 

что то ты упустил.. но вопроса я почти не понял!

Автор: RinOSpro 24.10.2007, 14:43
Rodman  есть связь контролеры[КодКонтролера] -> абоненты[КодКонтролера] -> субабоненты[НомерСубАбонента]

Проблема такая: я выбираю в табл Контролера, например Иванову
потом Абонента в обанентах остается ОАО Визит (т.к. связь)
а в Суб.абонентах связь потерялась там Первый цех Второй цех  Магазин 1  Магазин 2 а должно быть только Первый цех Второй цех  

связь Абоненты-СубАбоненты теряется. Как сделать чтобы связь не терялась?

Автор: Rodman 24.10.2007, 15:10
то что происходит у тебя на форме отслеживать надо ручками... т.е. самостоятельно. 

если ты выбрал контролера, то автоматом обновляй и остальные 2 таблицы, и так далее...

Автор: RinOSpro 24.10.2007, 15:11
Rodman  ты чето не то говоришь. знаешь что такое MasterSours, MasterField ? Или ты их использовал?

Автор: RinOSpro 24.10.2007, 15:36
В общем приблизательно понял в чем косяк. Если в таблице абоненты только 1 запись тогда связи нет а если 2 и более связь работат! 

Автор: RinOSpro 25.10.2007, 07:09
Что делать помогите. У кого может была такая же ошибка.

Автор: Vas 1.11.2007, 08:10
Цитата(RinOSpro @  24.10.2007,  15:36 Найти цитируемый пост)
В общем приблизательно понял в чем косяк. Если в таблице абоненты только 1 запись тогда связи нет а если 2 и более связь работат!  

Просто рефреш надо сделать этой таблице после выборки или принудительно стать на эту единственную запись, бывает такое причем не всегда.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)