Каскадное обновление (access - Ado - Delphi)

Тема в разделе "Delphi - Базы данных", создана пользователем VoodyGoo, 9 июл 2008.

  1. VoodyGoo

    VoodyGoo Гость

    В Аксесе имеется некоторое количество таблиц, связанных между собой ключами. На схеме данных все связи указаны, включена опция каскадного обновления данных в дочерних таблицах.
    При работе в самом Аксесе При изменении значения записи в родительской таблице значения меняются и в дочерних таблицах, но вот когда работаешь с этой же таблицей из Делфи (АДО), то никаких каскадных обновлений не наблюдается. Изначально решил реализовать это косяк запросами, вызываемыми при редактировании, но вот их количество меня не очень то обрадовало, уж очень много таблиц((( Может кто что подскажет как воспользоваться возможностями Аксеса..
     
  2. etc

    etc Гость

    Быть того не может.
     
  3. Silver Wind

    Silver Wind Гость

  4. VoodyGoo

    VoodyGoo Гость

    Наврно вы правы.
    Просто у меня структура базы неправильна наверное.
    Тут в общем такая ситуация(опишу 2 таблицы):
    Блюда(ID_Bl, Name, Cena)
    СпиокБлюдНаРейс(ID_S, ID_Bl, Name[из таблицы блюда],...)

    Таблица СпиокБлюдНаРейс запоняется запросом (Insert into), пользователь выбирает из табл. Блюда, и оно параметром в запрос поадает. Звязь таблиц происходит по полю ID_B (контроль целостности и обновление в при создании связи указывал). И при изменении поля Name в таблице Блюда в таблице СпиокБлюдНаРейс это поле не обновляется (даже в аксесе).
    В чем ошибка всего этого...?

    Урра! Разобрался!! Надо было всего то сделать составной ключ!!! в дочерней таблице ссылочное поле из родительской таблицы включить в состав ключа
     
  5. etc

    etc Гость

    А зачем его менять? Вот на рейс загрузили (ну или что там у вас) всякие блюда, с названиями и рейс ушел, люди уже чтото даже съели, а тут им говорят, что они съели совсем не то что они думают. По моему ерунда получаеться. :rolleyes:
     
  6. VoodyGoo

    VoodyGoo Гость

    Ну всякое бывает, вот например сегодня ингридиент какойто называется "Колбаса Московская", а завтра поставщик, или товар меняется, и название товара тоже, хотя фактически он остался тем, чем и был, и чтоб не удалять старый ингридиент, и не вносить в БД кучу новых данных(стоимости, раскладка в блюдах... и т.д.), в родительской таблице меняшь его имя, и если надо стоимость, и всё). Мне это так объяснили...
    Я ведь исполнитель, а заказчику так надо, вот и реализую все ихние "хотелки"
     
  7. etc

    etc Гость

    Если надо менять, то смысл в дублировании информации? опять не все красиво в итоге.
     
Загрузка...

Поделиться этой страницей