Текущий архив: 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.46 MB
Время: 0.007 c