Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
Спасибо, а куда этот запрос вставлять? Ведь я только таблицы использую. 14.10.10 11:25 Число просмотров: 2286
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
<programming>
|
[Access] Как добавить подчинённую таблицу для неуникального индекса 13.10.10 05:11
Автор: Vedrus <Serokhvostov Anton> Статус: Member Отредактировано 13.10.10 05:14 Количество правок: 1
|
Есть 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
|
|
| | |
Запрос создать? У меня просто нет аксесса чтобы промоделировать... 14.10.10 11:28
Автор: Ustin <Ustin> Статус: Elderman
|
|
| | | |
В аксессе есть возможность создать запрос, и если правильно... 15.10.10 03:28
Автор: void <Grebnev Valery> Статус: Elderman
|
В аксессе есть возможность создать запрос, и если правильно помню, сделать его сорсем для таблицы (типа view в нормальных системах)
|
| | | | |
Да, правда, можно, но только если форму отдельную сделать. Но её легко под обычную таблицу замаскировать. Так что вариант подходит. Спасибо! 22.02.11 12:34
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
|
|