Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > помогите составить запрос


Автор: yusuper 20.5.2010, 14:28
Есть две таблицы:
1 таблица-данные об экспертах:
id,фио, город и т.д.
2 таблица- таблица отчетов
за отчет отвечают три эксперта:
отчет, id1, id2, id3
Хочется сделать два запроса типа:
1) вывод всех отчетов в которых участвовал эксперт-например
эксперт1:
отчет1,отчет2, отчет5
эксперт2...
2) вывод экспертов которые отвечают за определенные отчеты, то есть сделать такую же таблицу как и 2, только вместо id выводить их фамилии.
Спасибо за внимание)

Автор: Akina 20.5.2010, 14:46
Переделать структуру таблицы отчётов:

Отчёт
ID эксперта

Соответственно для каждого отчёта в ней будет столько записей, сколько экспертов за него отвечают.

Автор: yusuper 20.5.2010, 14:52
эм..а подскажите тогда как реализовать тогда форму ввода отчета, так как я понимаю что с одной формы будет записывать три строки.. как это можно сделать? то есть чтобы была форма содержащая четыре поля:
отчет, айди1, айди2, айди3
и чтобы при нажатии на кнопку ОК записывались три строки в базу данных..

Автор: Akina 20.5.2010, 15:01
Ну и что? ты сейчас каким кодом заносишь данные? в студию...

Автор: yusuper 20.5.2010, 15:11
сейчас я заношу данные стандартной формочкой создаваемой мастером для таблицы отчетов, а вот как нестандартно заносить данные я пока не знаю)

Автор: Akina 20.5.2010, 16:15
Понятно, всё через задницу... ну давай так и продолжим.
Создай вот такой запрос (Создать запрос - В режиме конструктора - Вид - Режим SQL):
Код

SELECT [отчет], id1 AS [эксперт]
FROM [таблица отчетов]
UNION
SELECT [отчет], id2
FROM [таблица отчетов]
UNION
SELECT [отчет], id3
FROM [таблица отчетов]

Назовём его, скажем... ммм... да ну, сам придумаешь.

А теперь на основе этого отчёта, а не исходной таблицы, спокойно строй все нужные тебе запросы.

PS. А пока ЭТО работает - берись-ка за теорию и основы. Скажем, бесплатный курс по Аксессу на intuit.ru для начала подойдёт.

Автор: yusuper 21.5.2010, 11:33
спасиб)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)