Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.21;
Скачать: CL | DM;

Вниз

Удаляются связанные записи!   Найти похожие ветки 

 
Ximik ©   (2003-06-22 02:45) [0]

Удаляются записи!
Работаю с базой Access 2000 через ADO из Delphi 6.
Имеем две таблицы Т1 и Т2, связанные через MasterSource.
Т1 – главная, Т2 – подчиненная (справочник).
Если удаляю запись в Т1, то удаляется и запись в Т2.
Удаляю так DeleteRecords(arCurrent)
После такого удаления если в Т1 остались записи, ссылающиеся на
справочник, то они не видны L
Как этого не допустить? Т.е. удалять записи из Т1 и не трогать связи в Т2.
Пробовал ставить Т2 в ReadOnly – по-барабану.
Help!


 
ЮЮ ©   (2003-06-23 02:40) [1]

Правильно организовать связи. Справочник, IMHO, всегда главная таблица по отношению к таблице, его использующей. Зачем вообще организовывать связь со справодником ч/з MasterSource ???


 
Babay ©   (2003-06-23 07:29) [2]

почитай три статьи в королевтве дельфи "Немного об использовании ADO в Delphi. "
вот ссылка на вторую остальные думаю сам найдешь
http://delphi.vitpc.com/helloworld/ado02.htm


 
ximik ©   (2003-06-23 10:14) [3]

Справочник к сожалению не вегда главная таблица :(
К таблице Т1 цепляются две таблицы типа справочник. Так что они обе главные?
А связь через мастерсорс организована потому, что иначе не получается сортировка и фильтр в нормальном виде. В таблицах Т2 и Т3 по 5-6 полей. Дык вот через мастерсорс я могу сортировать и фильтровать по ЛЮБОМУ полю, даже из связанной таблицы, а например если связь через LookUp, то только по ключевому полю.
Вопрос открыт! Help!


 
ЮЮ ©   (2003-06-24 03:41) [4]

>Справочник к сожалению не вегда главная таблица :(
>К таблице Т1 цепляются две таблицы типа справочник. Так что они >обе главные?

Да, они оба главные. Но не в смысле, что их надо связывать ч/з MasterSource, а потому, чт0 имеется связь один ко многим, т.е. одной записи в справочнике соответствует много записей в таблице, а не наоборот, что делаешь ты, подчиняя справочник текущей записи таблицы.

>А связь через мастерсорс организована потому, что ...
Станные выводы и "нетривиальное" решение :-)

>Дык вот через мастерсорс я могу сортировать и фильтровать по ЛЮБОМУ полю
Что именно ты хочешь фильтровать? Главную таблицу или справочники?

>Вопрос открыт! Help!
Пожалуй, стоит начать со структуры, что хочешь получить и как это делаешь








 
ximik ©   (2003-06-27 02:47) [5]

Да вот нифига подобного :)
Структура подобрана правильно
т.к. если сделать главным справочник, то по нему придется по сто раз в день лазить и смотреть все записи, чтобы узнать что нового добавилось в таблице Т1. При использовании же Т1 в кач-ве главной и добавлении в нее новой записи никуда лазить не надо. Все под руками и все прекрасно сортируется и фильтруется.

Спасибо Babay за ссылочку. Проблемка решена с использованием Unique Table.

P.S. To ЮЮ: Справочник всю жизнь и везде был дополнением и по своей природе дожен быть перманентным. Я просто ко многим записям беру из него данные. На кой рожон он мне нужен главным?
А наличие связи один ко многим еще не делает таблицу главной, в смысле логики. Одну и ту же задачу можно решить разными правильными методами. :) А такое нетривиальное решение выбрано, чтобы конечному пользователю было удобно работать, о чем многие к сожалению забывают :(


 
ЮЮ ©   (2003-06-27 04:57) [6]

>А такое нетривиальное решение выбрано, чтобы конечному пользователю было удобно работать, о чем многие к сожалению забывают :(

Вот тут поподробнее. Зачем пользователю таблица-справочник, в которую нельзя добавить, из которой нельзя удалить, но при удалении из Т1 он теряет и запись из справочника? Действительно, нетривиальное решение :-)

Подумай,что ты потеряешь, если уберешь из приложения эту вывернутую наизнанку Мастер-Детайл связь, кроме головной боли ?



Страницы: 1 вся ветка

Текущий архив: 2003.07.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
11-67744
bartov
2002-11-15 20:18
2003.07.21
KOLRichEdit


14-68026
АТ
2003-07-04 18:32
2003.07.21
А вдруг кто-нибудь уже мучился с PCL-форматом?


9-67652
0$a
2003-01-29 23:17
2003.07.21
И вот я снова


1-67899
avkiev
2003-07-08 11:45
2003.07.21
Переопределение стандартной функции


11-67747
SPeller
2002-11-17 13:36
2003.07.21
DesignTime отрисовка