Главная страница
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.018 c
3-67672
dougine
2003-06-26 11:59
2003.07.21
О выборе средств редактирования


14-68045
Дмитрий К.К.
2003-07-04 06:24
2003.07.21
Именинники 4 июля


14-67981
Davinchi
2003-07-03 17:41
2003.07.21
Нуже компонент для архивации/разархивации файлов!!!


8-67932
Dmitry Silchenko
2003-03-01 19:59
2003.07.21
Не получается


7-68103
SPeller
2003-05-11 14:24
2003.07.21
Создание отдельной нити, но не простой...