|
автор: Gleb (30.11.-1 в 00:00) |
|
| Описание проблеммы:
Создаю таблицу "Класс"
Создаю таблицу "Подкласс"
Создаю таблицу "Основная"
Таблица основная содержит:
Счетчик (ключевое поле); Название; Класс; Подкласс; Примечание.
Поле Класс заполняется подстановкой из таблицы Класс.(Один столбец)
Таблица Подкласс содержит Класс(заполняется подстановкой из таблицы Класс) и столбец Подкласс. То есть одному классу соответсвует несолько значений подкласса.
Подскажите пожалуйста следующее:
Как сделать так, что бы после выбора из списка значений в Основной таблице в столбце Класс, в столбце Подкласс высвечивался список только тех значений, которые соответсвуют данному Классу в таблице Подкласс?
С уважение Глеб.
P.S. FAQ и форум посмотрел, но такого не нашел. | |
|
| |
|
автор: Explorer (30.11.-1 в 00:00) |
|
| как то нефига неправильно очередность установлена... нафига в таблице "основная" нужно поле "класс" если в ней уже есть поле "подкласс" из таблицы "подклассы"
Application > Collection > Object
или чтобы было понятнее
Сериал > Серия > Эпизод
tblApplications
-------------------
ApplicationID
ApplicationName
tblCollections
-------------------
CollectionID
ApplicationID
CollectionName
tblObjects
-------------------
ObjectID
CollectionID
ObjectName
запрос с джойнами элементорно построить мастером | |
|
| |
|
автор: Gleb (30.11.-1 в 00:00) |
|
| Re: как то нефига неправильно очередность установлена... Тут как я выяснил вопрос в следующем: создаем таблицу 1 Класс в ней несколько значений: например Белый и Черный (0 и 1).
Создаем связанную Таблицу 2 Подкласс, в ней создаем набор элементов каждый из которых относится либо к черному классу либо у белому.
В основной таблице хранятся объекты которые нужно характеризовать: Черный и список характеристик из таблицы подкласс с параметром черный или аналогично с белым.
То есть вся задача сводится к тому, что бы получить значение в основной таблице столбца Класс, текущей строки.
Вот код
SELECT Подкласс.Подкласс
FROM Подкласс, Основная
WHERE Подкласс!Класс=Основная!Класc;
Access требует ввести значение для сравнения Основная!Класc
Но вместо того, что бы сравнить с текущей строкой Access требует ввести условие вручную | |
|
| |
|
автор: Explorer (30.11.-1 в 00:00) |
|
| Re: То есть вся задача сводится к тому, что бы ИМХО нет
все задача сводится к тому, чтобы понять, что именно нужно получить и как это сделать...
да еще и умудриться объяснить это с первого раза
tblCategories (в твоем толковании Классы)
---------------------
CategoryID
CategoryName
tblProducts (в твоем толковании Объекты)
---------------------
ProductID
CategoryID
ProductModel
tblParameters (в твоем толковании Подклассы)
---------------------
ParameterID
CategoryID
ParameterName
ntgthm
возвращаемся:
То есть вся задача сводится к тому, что бы получить значение в основной таблице столбца Класс, текущей строки.
пробираемся:
SELECT tblProducts.ProductModel, tblCategories.CategoryName, tblParameters.ParameterName
FROM (tblCategories INNER JOIN tblParameters ON tblCategories.CategoryID = tblParameters.CategoryID) INNER JOIN tblProducts ON tblCategories.CategoryID = tblProducts.CategoryID;
[img]http://promo.boom.ru/relations.JPG[/img] | |
|
| |