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

Вниз

Работа с БД   Найти похожие ветки 

 
Sword-Fish ©   (2002-12-26 12:41) [0]

Добрый день !!!
У меня очередной вопрос...
Я так и не понял !!!
У меня есть база на MS Access в ней две таблицы "Рейсы" и "Цены"
Я не могу поставить связь между этими таблицами.
Я ставлю связи прямо в Access !!!
Ставлю связь и каскадное обновление и удаление, а он пишет различные ошибки. Что-то типа "У вас должно быть равное количество полей в гл. таблице..." и т.д.
Я не понимаю что делать...
На мой вопрос уже отвечали и один сказал, что он работает (так же как и я) с ADO и Access !!!
У него сделаны связи в таблицах в самом Access и через Delphi все отлично удаляеться!!!
Хотелось бы подробнее !!!
Помогите пожалуйста !!!

Таблица "Рейсы":
Code - счетчик (ключевое поле)
Name - текстовое <<название рейса>> !!!

Таблица "Цены":
Code - счетчик (ключевое поле)
Name - текстовое <<название рейса, для того чтобы по удалению записи из табл. "Рейсы" удалялись записи с таким же названием рейса из таблицы "Цены" >> !!!
Category - текстовое
Price - денежное

Нужна помощь.........
Объясните поподробнее..... (пожалуйста)


 
Val ©   (2002-12-26 14:00) [1]

alter table Prices
add constraint fk_prices_name foreign key (Name)
references Flights (Name) on delete cascade
естественно, в таблице рейсов name должно иметь уникальное значение. Но лучше вместо Name держать в таблице цен FlightsCode, и соответственно построить внешний ключ.


 
Sword-Fish ©   (2002-12-26 18:55) [2]

Да нет вы не поняли!!!
Да я знаю там можно поставить галочку каскадное удаление, но у меня пишутся разные ошибки !!!
Как мне прямо в Aceess"е создать связи и каскадное удаление!!!
А потом через Delphi просто удалил запись а по ней удалились все записи с таким-то кодом из другой таблицы.


 
Val ©   (2002-12-26 19:22) [3]

тогда неверно спроектирована база, показывайте скрипты создания таблиц и приведите текст ошибок.


 
Sword-Fish ©   (2002-12-26 23:34) [4]

Да какие скрипты !!!
Я просто с помощью конструктора в Access построил две таблицы и все !!!
Все что мне нужно это как сделать в Access каскадное удаление...
Но удалять я буду не через Access а через Delphi !!!
А ошибки такие:
"Данные таблицы Цены нарушают условия целостности
Например, записи для сотрудника существуют в связанной но отсутсвуют в главной таблице
Измените данные чтобы главные записи существовали для всех связанных записей"


 
Val ©   (2002-12-27 11:47) [5]

>Sword-Fish © (26.12.02 23:34)
Да какие скрипты !!! etc.
поменьше эмоций уважаемый, я ведь не обязан вам помогать, не так ли?
Если в Access нельзя получить скрипты(в чем я отчего-то очень сомневаюсь) - я бы отошел от работы с такой СУБД - все таки нужно знать, как устроена/работает ваша база, а не просто мышкой по экрану двигать, без понятия о DDL/DML.
По теме вопроса: вам же ясно говорится, что у вас данные в таблицах нарушают ограничение, которое вы пытаетесь наложить(FK в данном случае), поэтому оно и не накладывается. Либо очистите таблицы и накладывайте ограничения, либо измените данные, дабы они удовлетворяли настраиваемому FK.


 
Валерий   (2002-12-29 18:19) [6]

Если Acces пишет ошибки при создании связи, значит что-то в Вашей базе действиельно не так. Что-то с целостностью не то и т.п. И вообще мне не понятно, почему у вас связь идет по текстовоу полю. Почему в таблице "цены" не поставить ID рейса. И.т.п.Так что думаю, что дело не в Accesse, а в том, что в Вашей базе бардак, и он правильно делает, что не хочет объединять Ваши таблицы.


 
Sword-Fish ©   (2002-12-29 18:42) [7]

Спасибо !!!
Я понял...



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
1-72400
Vick
2003-01-13 16:32
2003.01.23
TeeChart (TChart, TDBChart)


4-72581
Slavik99
2002-12-06 20:53
2003.01.23
Уважаемые профи, помогите исправить ошибку....


3-72117
asmith
2002-12-27 19:18
2003.01.23
Нотификация в MS SQL Server


1-72298
sterran
2003-01-15 13:30
2003.01.23
Преобразование RGB в CMYK


14-72512
ZiLot
2003-01-06 08:46
2003.01.23
InstallShield & BDE