Сложный Фильтр На Форму В Access 2007

Тема в разделе "Остальные БД", создана пользователем iasakov, 21 фев 2013.

  1. iasakov

    iasakov New Member

    Регистрация:
    21 фев 2013
    Сообщения:
    1
    Симпатии:
    0
    Добрый день! Помогите с проблемой:
    Я сам не програмист, VBA не умею) Но создаю базу в Access 2007 и столкнулся с двумя проблемами:

    1. Сложный фильтр.
    Имеется ленточная форма "Сделки", в заголовке которой разместил элементы управления для фильтрации данных в форме по датам, по типам (это значение не содержится в записе, а вычисляется) и по прибыльности (прибыль тоже вычисляется, такого значения в исходной таблице/запросе нет). Если я на эти элементы управления накладываю собственные фильтры (Макросы на изменение значения в элементе управления), то каждый новый фильтр отменяет предыдущий. А мне нужно, чтобы Записи фильтровались по всем трём критериям. Можно на каждый элемент управления повесить один и тот же фильтр (Макрос на изменение значения в элементе управления), тогда все будет ОК. Но для этого я суммирую аргументы всех трёх фильтров. Выражение, необходимое для фильтрации, я написал:

    ([Откр Дата]+1>[Формы]![Сделки]![Поле153] And [Закр Дата]-1<[Формы]![Сделки]![Поле155])*([Тип]=[Формы]![Сделки]![Флажок165]*-1 Or [Тип]=[Формы]![Сделки]![Флажок167])*((([Лот]*[Кол-во лот]*[Закр Цена]-[Лот]*[Кол-во лот]*[Откр Цена])*[Тип]>0)*([Формы]![Сделки]![Флажок169]=-1) Or (([Лот]*[Кол-во лот]*[Закр Цена]-[Лот]*[Кол-во лот]*[Откр Цена])*[Тип]<0)*([Формы]![Сделки]![Флажок171]=-1))*([Состояние]=3)

    Если это выражение= 0, то запить не должна отображаться, если =1, то должна. Однако выражение больше 255 символов в аргументе Макрокоманды "Применить фильтр" не допускается. Как быть?

    2. Открыть запись в подробной форме.
    В той же форме "Сделки" записи отображаются только с основными полями (для поиска записи и общего анализа). На исходный запрос создана ещё одна- подробная форма "Сделка" (для изменения и создания новых записей). Требуется открывать форму "Сделка" из формы "Сделки", причем для той записи, которая выделена в "Сделки". Для этого есть возможность создать кнопку "Открыть форму для выбранной записи". Однако в мастере этой кнопки в окне соответствия полей нет списка полей формы "Сделки" (почему-то). И вообще, я бы хотел, чтобы "Сделка" открывалась двойным кликом на любое поле записи формы "Сделки". Какой макрос или команду присвоить двойному клику полей в "Сделки", чтобы открывалась форма "Сделка" для этой записи?
     

    Вложения:

Загрузка...

Поделиться этой страницей