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

Вниз

Как реализовать каскадное удаление?   Найти похожие ветки 

 
alenka   (2002-10-06 00:49) [0]

Всем привет!Вопрос чайника.Есть две таблицы Access, связанные соотношением "один-ко-многим",одна-вид_блюда,другая-разновидность_блюд.К примеру,в таблице вид_блюда содержится "закуска".Как сделать так,чтобы при удалении "закуски" из таблицы вид_блюда,все блюда такого типа,т.е закуски,в таблице разновидность_блюд также удалялись?


 
Оливейра ©   (2002-10-06 01:57) [1]

На диаграммке в Access связь нарисовать и чпокнув по ней правой кнопкой мышки и выбрав properties выставить галки на Cascade Refresh и Delete (или чего там). Но надежней в два этапа ручками - сперва из подчиненной, потом из главной.


 
aus ©   (2002-10-06 16:18) [2]

Чем надежней? Еще ни разу созданное в Access не подводило.


 
Mike_Goblin ©   (2002-10-06 18:26) [3]

>Оливейра
а если вдруг не из Вашего приложения попробуют удалять? А код контроля ошибки отнють не сделает Ваше приложение проще. Выносить логику ссылочной целостности на клиента, какие в этом преимущества?


 
alenka   (2002-10-08 00:38) [4]

Прошу прощения за немножко некоректную постановку вопроса.Мне нужно реализовать такое удаление в Delphi,а не в Access.Разумеется все нужные чпоки я проделала в Access.Таблицы открываю через ADO.
Так как быть?


 
Tornado ©   (2002-10-08 08:02) [5]

Я делал примерно так: удалял записи запросом по ключевому полю.

if MessageDlg("Подтвердите удаление записи", mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Query.SQL.Clear;
Query.SQL.Add("Delete from Table_1 where ID = " + InttoStr (Table_1.FieldByName("ID").AsInteger));
Query.ExecSQL;
Query.SQL.Clear;
Query.SQL.Add("Delete from Table_2 where ID = " + InttoStr(Table_2.FieldByName("ID").AsInteger));
Query.ExecSQL;

end;

Работает нормально.


 
Max Zyuzin ©   (2002-10-08 08:40) [6]

>Tornado © (08.10.02 08:02
На самом деле это ни есть верно.

А по сути вопроса сказать не могу, с аксесом не работал, по этому не в курсе что в нем есть (транзакции например)



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
1-92416
evgen_2001
2002-10-17 10:17
2002.10.28
Консольные приложения.


1-92462
Le!
2002-10-18 08:06
2002.10.28
Сдвиг обьектов при запуске программы на другом компе!


14-92728
werr
2002-10-09 09:30
2002.10.28
USB 2.0, 1.1, 1.0


6-92639
snowman
2002-08-20 16:42
2002.10.28
Замена окна регистрации Windows


1-92564
KVBr
2002-10-16 15:39
2002.10.28
Как избежать повторного запуска exe-файла?