Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/33: Рейтинг темы: голосов - 33, средняя оценка - 4.58
alenka012
3 / 3 / 0
Регистрация: 10.10.2009
Сообщений: 92
#1

Выделение цветом определенной ячейки

28.02.2012, 15:30. Просмотров 6026. Ответов 113
Метки нет (Все метки)

Реально ли сделать так, что при нажатии на определенную кнопку на форме - в таблице определенное значение выделялось красным цветом? не все поле в данной графе, а только определенное поле !?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2012, 15:30
Ответы с готовыми решениями:

Как в файле access сделать выделение цветом ячейки
Добрый день. Подскажите, как можно сделать чтобы ячейка (вся строка или одна...

Выделение записей цветом
Добрый день! Прочел аналогичную тему, но решил создать свою, чтобы избежать...

Выделение цветом различий
Добрый день! Необходима помощь! Имеется две таблицы с одинаковыми столбцами,...

Выделение данных цветом в отчете
Здравствуйте. Подскажите, как окрасить, например в красный цвет, итоговые...

Выделение цветом строк в списке
В форме есть список, отображающий данные с 3х таблиц. Как "прикрутить" в...

113
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
10.05.2018, 17:06 #61
Angie,

Спасибо.)))
0
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
14.05.2018, 09:49 #62
Уважаемая Capi, подскажите еще, пожалуйста
В продолжении темы.. как и какое добавить условие на форму, не связанную с фпСтатистикаФИО, но условие о том, что если в фпСтатистикаФИО поле выделяется красным (по уловному форматированию), то и в сторонней форме поле было бы тоже красным. Причем это должно выполняться вне зависимости от того, открыта форма фпСтатистикаФИО или нет...
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
15.05.2018, 00:59 #63
Angie,

Точно так же, как и в первом случае.
Ведь краснота в фпСтатистикаФИО зависит от данных в фпПоискТрПоФИО.
Значит, если в наборе данных подформы фпПоискТрПоФИО есть запись, отвечающая заданному условию - поле красное.
1
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
15.05.2018, 10:02 #64
Capi, но это выполнялось через свойство Parent, а здесь у меня форма вообще не связана с другими формами..Поэтому точно так же не выходит, да и если просто пытаюсь пути через Form прописывать, тоже что-то не то делаю
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
15.05.2018, 10:18 #65
Цитата Сообщение от Angie Посмотреть сообщение
да и если просто пытаюсь пути через Form прописывать, тоже что-то не то делаю
Покажите, как прописываете.

Добавлено через 2 минуты
Цитата Сообщение от Angie Посмотреть сообщение
но это выполнялось через свойство Parent
В функции FuncUF(), имеете в виду?
0
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
16.05.2018, 11:02 #66
Capi,
Visual Basic
1
2
3
4
Function FuncUF()
 Forms![фпПоискТрПоФИО].Form.Recordset.FindFirst "D=""00:00"" AND Снаряжение=""И"""
 FuncUF = Not Forms![фпПоискТрПоФИО].Form.Recordset.NoMatch
End Function
Цитата Сообщение от Capi Посмотреть сообщение
В функции FuncUF(), имеете в виду?
да
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
16.05.2018, 11:23 #67
Цитата Сообщение от Angie Посмотреть сообщение
Forms![фпПоискТрПоФИО].Form.Recordset.FindFirst
Пропущена основная форма. Не помню, как она называется, пусть фПоиск.
Visual Basic
1
Forms("фПоиск").фпПоискТрПоФИО.Form.Recordset.FindFirst
1
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
16.05.2018, 11:52 #68
Capi, заблудилась в 3х соснах.. Спасибо!
Срабатывает, только если открыты фПоиск и фпПоискТрПоФИО. А если сторонняя форма вызывается отдельно, то соответственно не срабатывает... А у меня есть запросы, в которых открытие этой формы происходит вообще в другом контексте, а информация об общей длительности нужна там тоже.
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
16.05.2018, 12:31 #69
Цитата Сообщение от Angie Посмотреть сообщение
Срабатывает, только если открыты фПоиск и фпПоискТрПоФИО. А если сторонняя форма вызывается отдельно, то соответственно не срабатывает...
Разумеется.

Кажется, можно сделать по-другому.
Сейчас некогда подробнее.
Возможно, вечером.
1
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
17.05.2018, 10:58 #70
Angie,

Смотрите форму, которая откроется при запуске.
Она ленточная.
Обратите внимание на два поля - желтое и со звездочками.
Это разные способы выделения - первое с УФ, второе с форматом поля.
Выделение тормозит, надо бы поработать с запросами, на которых оно основано,
но я не стала в них разбираться, использовала как есть, ведь мне неизвестно правило формирования результатов.
1
Вложения
Тип файла: rar 555_NEW01.rar (63.6 Кб, 7 просмотров)
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
17.05.2018, 12:24 #71
Angie,

Забыла написать.
Видела в запросах HAVING'и, которые применяются с обычными условиями.
Переделайте - перенесите условия в WHERE.
HAVING используется для анализа результатов агрегирования.
1
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
17.05.2018, 16:54 #72
Capi, тысячу раз спасибо!!!
Цитата Сообщение от Capi Посмотреть сообщение
Это разные способы выделения - первое с УФ, второе с форматом поля.
!!! супер!
Цитата Сообщение от Capi Посмотреть сообщение
Видела в запросах HAVING'и, которые применяются с обычными условиями.
делала все запросы через конструктор, не сильно вникая. Буду разбираться, огромное спасибо за указания, куда смотреть!!!

Добавлено через 4 часа 1 минуту
Capi, очередной глупый вопрос, наверное, но что значит "SELECT 1 FROM..", почему 1 в данном случае? это аналог звездочки
Visual Basic
1
 Select * From
?
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
17.05.2018, 18:00 #73
Цитата Сообщение от Angie
что значит "SELECT 1 FROM..", почему 1 в данном случае? это аналог звездочки
Скорее, это противоположность звездочки.
Звездочка означает выбор всех полей, а 1 я поставила, чтобы ни одно поле таблицы не выбиралось,
но выборка все же формировалась, чтобы увидеть количество записей, отвечающих условиям.

Количество полей в выборке влияет на быстродействие запроса.
1
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
18.05.2018, 09:58 #74
Capi, поняла, спасибо!!
0
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
24.05.2018, 16:09 #75
Цитата Сообщение от Capi Посмотреть сообщение
Angie,
Забыла написать.
Видела в запросах HAVING'и, которые применяются с обычными условиями.
Переделайте - перенесите условия в WHERE.
HAVING используется для анализа результатов агрегирования.
Убрала вроде везде HAVING, оставила только WHERE. Но все равно притормаживает.. В чем можно покопаться. чтобы не тормозило?
0
Вложения
Тип файла: rar 555_NEW02.rar (62.7 Кб, 2 просмотров)
Eugene-LS
Эксперт MS Access
3184 / 1829 / 335
Регистрация: 05.10.2016
Сообщений: 5,059
24.05.2018, 16:21 #76
Цитата Сообщение от Angie Посмотреть сообщение
В чем можно покопаться. чтобы не тормозило?
В индексах ....

Добавлено через 9 минут
Цитата Сообщение от Angie Посмотреть сообщение
Убрала вроде везде HAVING, оставила только WHERE. Но все равно притормаживает.. В чем можно покопаться. чтобы не тормозило?
А вообще, по моим скромным наблюдениям, условное форматирование довольно тормозная приблуда.
На больших объёмах данных лучше использовать свойство Format
1
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
24.05.2018, 17:08 #77
Цитата Сообщение от Angie
*В чем можно покопаться. чтобы не тормозило?
Думаю, в первую очередь, в запросах.
Можете словами изложить, что из чего получается и от чего зависит?
Если понятно расскажете, попробую что-нибудь сделать.
Пока у меня большие сомнения в оптимальности тех запросов, что у Вас видела.
Последнюю базу пока не смотрела.
1
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
24.05.2018, 17:46 #78
Цитата Сообщение от Capi Посмотреть сообщение
Можете словами изложить, что из чего получается и от чего зависит?
В смысле описать запросы, почему делаю именно так?
Цитата Сообщение от Capi Посмотреть сообщение
Последнюю базу пока не смотрела.
она такая же, как раньше, только без HAVING`а.
0
Capi
1682 / 885 / 167
Регистрация: 12.06.2016
Сообщений: 1,931
24.05.2018, 17:56 #79
Не запросы описать, а принцип получения результатов - какие данные исходные, как формируются итоги.
0
Angie
5 / 5 / 1
Регистрация: 10.03.2016
Сообщений: 303
25.05.2018, 17:20 #80
Capi, попробую.

Схему данных прикладываю.

Суть - вывод статистической информации о тренировках. Каждая тренировка проводится для человека (ФИО), относится к определенному виду подготовки (ВидПодготовки), виду операций (ВидОпераций), используется определенное снаряжение (ТипСнаряжения). Соответственно таблицы ВидПодготовки, ВидОпераций и ТипСнаряжения состоят из ключевого поля-кода и самого вида/типа.

Форма фпПоискТрПоФИО представляет собой ленточную форму, выводящую информацию:
Дата тренировки
Вид операций
Тип Снаряжения
Вид подготовки
Длительность

В запросе для этой формы присутствует еще связующее поле ФИООператоры - это поле связывает таблицу Тренировка и Список (сделано из-за того, что один и тот же оператор участвует в многих тренировках). По этому же полю осуществляется связь подформы фпПоискТрПоФИО с формой фПоискТрПоФИО, которая выводит всю вышеперечисленную информацию для конкретного человека.

Подформа фпСтатистикаФИО выводит количественную информацию - сколько было тренировок в [ТипСнаряжения] - всего типов-3, сколько тренировок по [ВидОпераций]- выводится для 3. И общее время в Снаряжении "И". Запрос этой подформы содержит поля:
ФИООператоры - связующее поле с главной формой фПоискТрПоФИО,
ДлительностьИ - это общая длительность в снаряжении типа И. Основана на 2х запросах. Первый запрос (ДлительностьРасчет) вычисляет длительность любой тренировки путем вычисления из конечного времени начального. Второй запрос считает, сколько было тренировок в конкретном снаряжении (в данном случае в "И") и общую длительность тренировок "И". Именно эта ДлительностьИ используется в данной подформе.
И остальные поля запроса- подсчет того самого количества тренировок по виду операций и типу снаряжения - каждый основан на отдельном запросе.
Обе эти подформы, как уже было сказано выше, связаны с главной формой через ФИООператоры, чтобы выводить всю эту информацию для конкретного человека.

До этого момента тормозов не замечалось.

Далее еще одна статистическая форма F_фпСтатистикаФИО, аналогично выводящая общую информацию, только теперь таблица всех людей с данными о том, сколько у них было тренировок в разных типах снаряжения, по разным видам операций. И здесь мне нужно выделять поле красным, если общая длительность не соответствует действительности (в случае, если не была введена вся информация). Как Вы помогли выше, это реализовывается через функцию, которая обращается к запросу:
ФИО
Тип снаряжения
Общая длительность

Функция о том, что если в этом запросе снаряжение=И, а длительность 00:00, красить поле в красный цвет. И именно здесь притормаживает.

PS. Пока описывала, отредактировала кучу запросов, убрала много лишних полей. Прикладываю измененную бд.
Надеюсь, хоть что-то понятно в моем описании..
0
Миниатюры
Выделение цветом определенной ячейки  
Вложения
Тип файла: rar 555_NEW03.rar (64.2 Кб, 2 просмотров)
25.05.2018, 17:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2018, 17:20

Выделение определеннной записи цветом
Доброго времени суток. Помогите, пожалуйста, с решением проблемы. В таблице...

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

Выделение в списке другим цветом
никто не подскажет в принципе можно в поле со списком изменить цвет строки...


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

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

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