![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Условие:
Имеем несколько организаций. У каждой организации есть некое оборудование. Оборудование вводится в экслуатацию, некоторое время работает и выводится из эксплуатации. Другими словами, есть дата ввода в эксплуатацию и дата вывода. Для оборудования, которое в настоящее время находится на эксплуатации, дата вывода из эксплуатации не указана (пустое значение). Дата ввода в эксплуатацию заполнено всегда. Для просмотра организаций и принадлежащего им оборудования созданы главная (Firm) и подчиненная формы. На главной форме есть поле edCurrYear для ввода года. Это поле никак не связано с БД. Задача: Необходимо отфильтровать записи в главной форме таким образом, чтобы при пустом поле выводились все организации, а при заполненном - только те, у которых имелось рабочее оборудование на конец указанного года (пусть даже оно было введено в эксплуатацию 31.12). Фильтрация записей должна происходить по событию изменения значения в поле edCurrYear По имеющимся в БД данным должно получиться следующее: 1. При пустом поле или при значении 2011 форма должна отображать 4 организации 2. При значении 2010 - ни одного Проблема: Форма не фильтрует записи. При этом, если открыть форму в режиме просмотра, менять значения в поле edCurrYear (Текущий год), то запрос qFirm, на базе которого построена главная форма данные фильтрует, как положено. Правда при этом отладочное поле "Выражение 3", которое должно отображать значение поля edCurrYear в каждой строке, остается пустым. Есть подозрение, что проблема в несоответствии типов сравниваемых величин при фильтрации. Однако попытка преобразовать строковое значение поля текущего года к Integer вызывает ошибку: либо неверное выражение, либо оно слишком сложное. В чем мой косяк?
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]()
Добрый день
попробуйте так запрос формы: Код:
и в событие : Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]()
Лишнее в запросе формы сами поубирайте, просто не стал разбираться чего куда откуда
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Спасибо, Дмитрий!
Но почему Вы решили часть условий вынести в фильтр, а часть оставить в запросе? Есть какое-то правило, особенность Access'a или это Ваше ноу хау? Хочу понять, чтобы взять этот метод на вооружение.
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]() Цитата:
![]()
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Строго говоря, предложенный Вами запрос (за минусом всего лишнего) дублирует записи организаций, если оборудование вводилось в разные года, поскольку в GROUP BY введена дополнительная группировка по Format([DateBeg],"yyyy". Я поразмыслю над Вашим способом разделения условий.
Еще раз спасибо за идею!
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
фильтрация данных и добавление новых записей макросом | U_Oksana | Microsoft Office Excel | 10 | 24.01.2011 23:29 |
Фильтрация записей в списке по значениям в полях со списком | khvostatyy | Microsoft Office Access | 3 | 14.03.2010 16:49 |
Фильтрация повторяющихся записей | euronymous | SQL, базы данных | 3 | 04.02.2010 15:17 |
Фильтрация записей в таблице | TaTT DoGG | БД в Delphi | 49 | 28.03.2009 19:04 |
Фильтрация записей с помощью Grid'а. | Repz | БД в Delphi | 1 | 02.05.2008 04:55 |