Есть 3 таблицы: lections (id, title), sources (id, title) и lec_src (lection, source). В таблице lections хранятся названия лекций, а в sources – список источников, на которые ссылается лекция. В таблице lec_src устанавливаются связи между лекциями, и источниками, благодаря чему при просмотре таблицы можно при помощи «аксессного механизма плюсиков» (извините, не знаю, как он по-умному называется) заглядывать в подчинённую таблицу, т.е. в таблице lections смотреть какие источники задействует лекция, а в таблице sources посмотреть, сколько лекций ссылаются на данный источник.
Это всё работает хорошо, но появилась потребность ещё в одной вещи. Нужно добавить таблицу conspect (id, title, lection), в которой будут храниться названия конспектов лекций (на одну лекцию может приходиться сразу несколько конспектов) т.о., чтобы при просмотре таблицы lec_src задействуя «механизм плюсиков» можно было просматривать список конспектов относящихся к определённой лекции.
Добавление поля id в таблицу lec_src и связывание с conspect через это поле проблему не решает, т.к. в этом случае каждая запись в таблице lec_src имеет уникальный конспект, а надо, чтобы одна и та же лекция ссылалась на одни и те же конспекты. Если же увязывать conspect с полем lection из таблицы lec_src, то «механизм плюсиков» не включается.
Посоветуйте, пожалуйста, как это можно сделать. Конечно, можно формами воспользоваться, и всё вручную перепрограммировать, но хотелось бы найти максимально простое решение, чтобы с программированием не заморачиваться.
Описаному механизму плюсиков соответствует запрос:14.10.10 11:05 Автор: Ustin <Ustin> Статус: Elderman Отредактировано 14.10.10 11:05 Количество правок: 1
Описаному механизму плюсиков соответствует запрос:
select l.id,l.title,s.id,s.title
from lections l
left join lec_src ls on (ls.lection=l.id)
left join sources s on (ls.source=s.id)
where l.id=?lection
---
Соответственно для конспекта conspect (id, title, lection):
select c.id,c.title, s.id,s.title
from conspect c
left join lec_src ls on (ls.lection=c.lection)
left join sources s on (ls.source=s.id)
where c.id=?conspect
---
Спасибо, а куда этот запрос вставлять? Ведь я только таблицы использую.14.10.10 11:25 Автор: Vedrus <Serokhvostov Anton> Статус: Member
В аксессе есть возможность создать запрос, и если правильно помню, сделать его сорсем для таблицы (типа view в нормальных системах)
Да, правда, можно, но только если форму отдельную сделать. Но её легко под обычную таблицу замаскировать. Так что вариант подходит. Спасибо!22.02.11 12:34 Автор: Vedrus <Serokhvostov Anton> Статус: Member