Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Access

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
Ol_Bak
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 47
#1

Фильтр для основной формы - MS Access

27.01.2012, 14:02. Просмотров 2748. Ответов 20
Метки нет (Все метки)

Доброго времени суток.
Подскажите, как можно отфильтровать данные основной формы по полям подиненной формы

Есть таблица "Дежурство", подчиненная таблица "ЗаявкиРемонт", в подчиненной таблице поле "ВидСигнализация" имеет два значения "ОС, "ПС". В починенной таблице за сутки полей 30-40

Как по мне, есть встроенные фильтры, и можно запросы создать для вывода , но для начальства нужно в основной форме создать две кнопки "ОС" и "ПС", которые бы отбирали те дежурства, где есть или только "ОС" или "ПС"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 14:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Фильтр для основной формы (MS Access):

Фильтр основной формы из подчиненной - MS Access
Здравствуйте. Есть основная форма, которая отображается в режиме формы и показывает информацию об одном сотруднике, у нее есть...

Обновление основной формы данными из внедрённой формы, основанной на основной форме - MS Access
Всем привет! Извиняюсь за тавтологию, но зато изложено кратко! В приложении БД. Не обращайте внимание на много таблиц и схему. Они в...

Фильтр для формы - MS Access
Подскажите пожалуйста, нельзя ли настроить форму в режиме конструктора так, чтобы она фильтровала данные и не все выдавала из таблицы. про...

Фильтр для подчиненной формы - MS Access
Всем доброго и удачного дня!!! У меня вскочил вопрос. Как в основной форме - Ученики , при обновлении ПоляСоСписком - ПоискУченика ,...

Фильтр для подчиненной формы - MS Access
Добрый день. Пытаюсь создать фильтр для суб формы. Не получается. (( в БД Форма "Изменить параметры центр оплаты" используемая...

Фильтр для ленточной формы - MS Access
Access 2007. Как сделать фильтры для полей, аналогичные в табличной форме, для ленточной формы?

20
alvk
Эксперт MS Access
5474 / 3372 / 163
Регистрация: 12.08.2011
Сообщений: 8,500
27.01.2012, 16:27 #2
Я не вижу вашу схему данных. Как эти таблицы связаны? Какие поля в них есть? Также не понял вопроса, кнопки будут фильтровать главную форму? Ну тогда всё элементарно, если поле ВидСигнализация есть в источнике данных главной формы.
1
Ol_Bak
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 47
27.01.2012, 17:47  [ТС] #3
Извините, но образец реальной базы скинуть не получится, там всего нагромождено, прикрепил кусочек, кнопки ОС и ПС поставил для примера


В основной таблице "Дежурство" - поля КодДата (ключ), Дата, .................
В подчиненной таблице "ЗаявкиРемонт" - поля КодЗаявка (ключ), КодДата, ВидСигнализация (комбобокс - поля "ОС", "ПС"), и еще десяток полей.
Связь таблиц "один - ко многому" по полю КодДата

Поля ВидСигнализация в в источнике данных главной формы нет.

Созданы формы по этим таблицам - основная "Дежурство". подчиненная "ЗаявкиРемонт"

Задача вся в чем - на основной форме в заголовке создать две кнопки "ОС" и "ПС", которые бы отобразили все дежурства (форма "Дежурство") и подчиненные формы (форма "ЗаявкиРемонт"), где есть только или "ОС" или "ПС".

Все это сделано запросами, но шеф - не надо других форм, таблиц, есть форма "Дежурство", пусть все в ней и отображается.
0
Вложения
Тип файла: zip bd5.zip (23.5 Кб, 41 просмотров)
ashagin
137 / 133 / 3
Регистрация: 27.07.2010
Сообщений: 294
27.01.2012, 21:33 #4
Добрый день.
Наверное можно, но на это, по всей видимости ответят знатоки VBA.
Можно сделать проще - создать форму с тремя ВКЛАДКАМИ - Дежурство, ОС и ПС.
И просто - и как хотел начальник - все на одной форме.
1
alvk
Эксперт MS Access
5474 / 3372 / 163
Регистрация: 12.08.2011
Сообщений: 8,500
28.01.2012, 05:04 #5
Ol_Bak, Акцесс 2010 не имею, выложите mdb, и почему вы всё время говорите "таблицы"? Интуитивно догадываюсь, что речь идёт о формах, но увидеть ваш монитор не могу на таком расстоянии.

Цитата Сообщение от alvk Посмотреть сообщение
Также не понял вопроса, кнопки будут фильтровать главную форму?
Цитата Сообщение от Ol_Bak Посмотреть сообщение
подчиненные формы (форма "ЗаявкиРемонт"), где есть только или "ОС" или "ПС".
Если это ответ, то значит фильтровать будем подчинённую?
0
Ameli
2056 / 1132 / 38
Регистрация: 05.11.2009
Сообщений: 1,604
28.01.2012, 13:26 #6
Фильтровать действительно надо подчиненную, а не главную. Обращение к подчиненной форме из главной:
Visual Basic
1
Forms![Название главной]![Название подчиненной].Form
Для упрощения к текущему объекту можно обращаться Me, поэтому:
Visual Basic
1
Me![Название подчиненной].Form
Для фильтрации формы воспользуемся свойствами формы Filter и FilterOn. На событие Нажатие кнопки ОС:
Visual Basic
1
2
3
4
Private Sub ГЉГ*îïêГ*9_Click()
Me![Г‡Г*ÿâêèÐåìîГ*ГІ ïîä÷èГ*ГҐГ*Г*Г*Гї ôîðìГ*].Form.Filter = "ÂèäÑèãГ*Г*ëèçГ*öèÿ = 'ГЋГ‘'"
Me![Г‡Г*ÿâêèÐåìîГ*ГІ ïîä÷èГ*ГҐГ*Г*Г*Гї ôîðìГ*].Form.FilterOn = True
End Sub
Для ПС аналогично. На Нажатие кнопки Показать все уберем фильтр:
Visual Basic
1
2
3
Private Sub ГЉГ*îïêГ*12_Click()
Me![Г‡Г*ÿâêèÐåìîГ*ГІ ïîä÷èГ*ГҐГ*Г*Г*Гї ôîðìГ*].Form.FilterOn = False
End Sub
1
Вложения
Тип файла: rar bd5.rar (22.0 Кб, 74 просмотров)
Ol_Bak
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 47
30.01.2012, 14:11  [ТС] #7
Спасибо за ответы

Возникли вопросы.

1. В подч.форме поле "Выполнено"

Добавил кнопки "ОС+" - выполненные заявки по ОС, "ОС-" - невыполненные заявки по ОС

Если нужно сделать фильтр нескольким полям в подчиненной таблице, то прописать в процедуре еще одну строчку?

Так сделал, но при нажатии "ОС+" выводятся поля, и "ОС" и "ПС" в подч.форме, где поле "Выполнено" не пустое.

2. Если в подч.форме поле "ВидСигнализация" только "ОС", то при нажатии кнопки "ПС" такой день дежурства не выводился, как это сделать
0
Вложения
Тип файла: zip bd5.zip (38.8 Кб, 48 просмотров)
Maxess
95 / 74 / 3
Регистрация: 28.12.2009
Сообщений: 164
30.01.2012, 17:50 #8
Здравствуйте,
Попробуйте так:
Visual Basic
1
Me![ЗаявкиРемонт подчиненная форма].Form.Filter = "ВидСигнализация='ОС' And Выполнено > 0"
для остальных полей так же.
1
Ol_Bak
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 47
30.01.2012, 18:45  [ТС] #9
Спасибо, все получилось

По вопросу № 2 - как исключить отображение дежурств после фильтрации, если в подч.форме есть только "ОС" а фильтруем по "ПС".
После применения фильтра дежурство остается, а подч.форма пустая
0
WickedLord
0 / 0 / 0
Регистрация: 30.07.2017
Сообщений: 4
23.03.2012, 07:14 #10
А подскажите как должно быть написано, если форма не подчинённая, а разделенная ?
0
novus-
10 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 18
02.12.2015, 15:40 #11
Всем доброго времени суток! Есть такая проблема: есть основная форма с в которой вводятся данные о человеке (ФИО, и т.д) и в ней подчиненная форма со списком работ, выполненных этим человеком. Стоит задача, в этой форме создать фильтр, в котором будет выбираться конкретная работа и нужно, чтобы отображались люди, которые эти работы выполняли. Третий день грущу над этой задачей
0
VinniPuh
Эксперт MS Access
5806 / 3352 / 333
Регистрация: 27.03.2013
Сообщений: 12,389
02.12.2015, 15:47 #12
Цитата Сообщение от novus- Посмотреть сообщение
...Третий день грущу над этой задачей...
Если бы 2 дня назад выложили пример того чего уже наработали, то скорее всего бы уже не грустили, а пиво пенное в пивбаре пили и радовались жизни.
А по существу, скорее всего промежуточная табличка наверное тут нужна.
0
novus-
10 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 18
02.12.2015, 15:52 #13
да наработок как бы и нет, пробовал стандартным фильтром, ничего не выходит, пробовал добавлять поле фильтрации в основную форму, но тогда блокируется ввод и изменение значений.
Во вложении скрин, нужно фильтровать людей по полю VESSELS NAME
0
Миниатюры
Фильтр для основной формы  
VinniPuh
Эксперт MS Access
5806 / 3352 / 333
Регистрация: 27.03.2013
Сообщений: 12,389
02.12.2015, 16:03 #14
Цитата Сообщение от novus- Посмотреть сообщение
...Во вложении скрин...
По вложению вижу. что не мой форматик, но существуют и такие.
Однако по скрину наверное только Боги смогут решить вашу заковырку, а более менее знающим и умеющим желателен пример БД, хоть даде и урезаный (типа когда данные сверхсекретные)
Просто создавать то, что уже создано, мало кто захочет, а потом ещё столько же времени исправлять под вас, т. к. 1-2 буковки не так написали.
0
novus-
10 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 18
02.12.2015, 16:19 #15
я же не прошу создавать, уже все создал, вот только с фильтрами заковыра, а сама БД большая
0
Вложения
Тип файла: rar пример.rar (25.0 Кб, 14 просмотров)
Тип файла: zip пример2003a.zip (25.5 Кб, 5 просмотров)
02.12.2015, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 16:19
Привет! Вот еще темы с ответами:

Фильтр по списку для подчиненной формы - MS Access
Всем доброго времени суток! Очень нужна помощь. Есть форма "Оборудование". Пытаюсь сделать так, чтобы при нажатии на одно из значений...

Фильтр для подчинённой формы из главной - MS Access
Подскажите пожалуйста, как выбрать для применения фильтра подчиннённую форму? всегда применяется к главной, даже если пытаюсь выбрать...

Соответствие значения поля подчиненной формы полю таблицы основной формы - MS Access
Здравствуйте. В основной форме две подчиненные формы, одна в табличном режиме другая в режиме формы. Так вот, значения подчиненной формы...

Установление ширины элемента разделённой формы по ширине основной формы - MS Access
Здравствуйте! Подскажите пожалуйста, как в разделённой форме ширину элемента формы автоматически устанавливать по ширине основной формы в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru