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


Автор: SergGer 24.7.2010, 16:24
В Базе есть таблицы "товар" и "параметры товара".  Делая заказ необходимо в форме "Клієнти та замовлення" указать параметры товара который выбран в предыдущем поле, но чтобы в списке появлялись только параметры этого товара. 
  Вообще задача внести в заказ товары с абсолютно разными характеристиками. Я выбрал такой путь, может можно как-то правильнее - буду рад совету. Пример базы прилагаю. Спасибо.

Автор: Akina 27.7.2010, 08:31
См. внизу ЭТОЙ страницы. Блок "А здесь смотрели?".

Автор: SergGer 28.7.2010, 11:06
Пересмотрел весь раздел "А здесь смотрели". Пробовал делать обновление и при изменении поля товары и при получении фокуса полем параметры товара - не помогло. Может подскажете в чём проблема.

Автор: Woodlin 28.7.2010, 11:19
SergGer, если честно я не понял что вы хотите добиться от программы.

Автор: SergGer 29.7.2010, 12:20
Цитата

SergGer, если честно я не понял что вы хотите добиться от программы


Я хочу чтобы в форме в первом поле (выпадающий список) я выбрал товар, а в следующем поле (тоже список) выбрал параметры для  этого товара. И чтобы во втором поле в списке появлялись только параметры для этого товара.

Например в первом поле я выбрал Печать фото - во втором должно быть в списке 10х15, 15х21, 20х30. Если в первом поле выбрал Фото на документы - во втором предлагает срочно, не срочно. Ну и т.д.

Я пробовал во втором поле в качестве фильтра в запросе ставил код товара, но не работает. Обновление тоже ставил в разных событиях. Что не получается. Понимаю, что не сложно, но где-то есть ошибка в моих действиях.

Автор: Woodlin 29.7.2010, 13:58
SergGer, Вам надо сначала нормализовать таблицы, желательно убрать из таблиц поля со списками (особенно с несколькими колонками). Поля со списками мне кажется лучше использовать в формах.
Тогда я думаю у Вас получится то что задумали. Если нет заходите.

Автор: SergGer 29.7.2010, 14:09
Поля со списками у меня и есть в формах. В таблицах их нет. И все действия происходят в форме заполнения заказа.

Автор: SergGer 29.7.2010, 19:14
Не могу понять. В подчинённой форме делаю несколько записей с заказами товара. Так вот поле параметры товара показывает только параметры того товара, что записан в первой строке.

Автор: Woodlin 30.7.2010, 06:12
SergGer, у Вас в таблицах Параметры товаров и Товари Замовлення есть поля со списком, причём в них скрытые колонки, они то и вносят путаницу.

Автор: SergGer 30.7.2010, 20:42
Woodlin, Снимаю шляпу. Всё работает. Огромное спасибо. Будут ещё вопросы, но то уже другая тема.

Добавлено через 28 секунд
Всем спасибо!

Автор: SergGer 25.8.2010, 23:10
Woodlin, Помогите ещё раз.
Дело в том, что теперь, когда я внес несколько разных записей (товар и параметры для этого товара), то при повторном открытии формы для некоторых товаров параметры не отображаются в соответствующем поле. Они появляются только когда кликнуть на этом поле.

Я так понимаю, что проблема где то здесь. Это источник строк для поля  [Код параметра]
Код

SELECT [Код параметра], [Назва параметру] FROM [Параметри товарів] where [Код товара]=4

когда нет конкретного = 4, то работает нормально, фильтр изменяется динамично, зависит от того какой товар выбран, но потом он его запоминает и остальные записи не отображаются.

Не знаю понятно ли изложил?


Автор: SergGer 26.8.2010, 00:47
Не стоит обращать внимание. Написал в панике. Уже всё решил - аж стыдно, что писал.

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