Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кто подскажет
 
 автор: Гоблин   (06.01.2012 в 18:39)   личное сообщение
 
 

С наступившим всех
Вот проблема. На форме есть рисунок, разделенный на разные части (сектора). Есть поля для каждой части (сектора) этого рисунка, куда ставят циры от 1 до 4. Задача: сделать так, что бы в зависимости от цифры соответствующая часть рисунка меняла цвет.
1. Делал условное форматирование поля с цифрой, а само поле пытался как мог на весь сектор растянуть. Однако сектора не ровные квадраты, а неправильной формы... Ну и условное форматирование - всего 3 условия, а надо 4
2. Делал мелкие рисунки на каждую часть. Рисунки не видны изначально. Но в зависимости от цифры показывается соответствующий рисунок (часть закрашенная своим цветом) Работает, но блин слишком много таких рисунков надо. На каждый сектор минимум 3 шт.
А есть ли еще какой механизм?

  Ответить  
 
 автор: час   (06.01.2012 в 19:01)   личное сообщение
 
 

ещё механизм me.backolor = vbred
А вообще то вы хотя ба скрин формы показали, а лучше в отдельную базку форму кинули ба.

  Ответить  
 
 автор: Гоблин   (06.01.2012 в 19:57)   личное сообщение
32 Кб.
 
 

Вот пример с одним сектором в простеньком рисунке. Может что другое подскажите. Или мне там хрен знает сколько таких рисуночков делать на каждый сектор. Что-то другого не предоположу пока.

  Ответить  
 
 автор: Волшебник   (07.01.2012 в 15:26)   личное сообщение
 
 

У Лукаса пример был.
Там картинка менялась от значения Чекбокса.

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 16:51)   личное сообщение
 
 

Один хрен надо делать видимыми различные фрагменты рисунка. Считаю это излишеством, которое в итоге повлечет за собой увеличение емкости базы.

  Ответить  
 
 автор: Lukas   (07.01.2012 в 17:00)   личное сообщение
 
 

Вообще говоря, задачка рисования для Access "не детская".

Опиши что это за задача такая, для чего нужно?

  Ответить  
 
 автор: Волшебник   (07.01.2012 в 17:50)   личное сообщение
43 Кб.
 
 

Гоблин, посмотри.

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 19:51)   личное сообщение
62 Кб.
 
 

1 Lukas - Для чего нужно.
Скорей всего для визуализации каких-то процессов-патологий. Как мне кажется, на черно-белом рисунке цифры не очень в глаза бросаются, вот и решили замутить с раскраской. Лучше 1 раз увидеть =>
на последней вкладке этот рисунок. ТК принтера монохромные, то и раскраска думаю пойдет от белого - 1 до черного - 4 ну а 2 и 3 это серые и темно-серые тона.. (На рисунке LAX нижний левый сектор для примера)
Таблица слишком большая получилась , но это потому, что в базе одно исследование - строка. Это пока предварительно. Большая половина параметров уйдет в запрос, тк будет вычисляться.
Самый смак будет когда придется все раскрашенное в отчет пихать. В настоящее время в действующей базе работает с простым рисунком и цифрами.

2. Волшебник, недопонял. Цифры меняю, но рисунков не видать.

  Ответить  
 
 автор: Lukas   (07.01.2012 в 20:21)   личное сообщение
24 Кб.
 
 

Я бы что-нибудь такое изобразил: =>

  Ответить  
 
 автор: Lukas   (07.01.2012 в 20:27)   личное сообщение
28 Кб.
 
 

Или в таком варианте: =>

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 20:38)   личное сообщение
 
 

А вот о втором варианте я как-то даже не подумал. Это ведь рядом можно подписывать то, что внизу картинки - пояснения что какая цифиря означает. Вот это уже более интересно. Но что скажут. буду предлагать.

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 20:36)   личное сообщение
 
 

Думал на эту тему и даже пробовал. Типа
......
Me.Линия1.BorderColor = 255.
.....
Ну и в этом духе... Правильно понял? К сожалению вот хотят что бы рисунок сектора обрисовывал. С другой стороны - если два мнения совпали, стало быть можно и хочух переубедить можно?
Во всех случаях Лукас, спасибо. Подбодрил. Буду действовать в этом направлении.

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 20:59)   личное сообщение
 
 

Блин! Лукас на мысль навел! А что если не рисунки делать, а точками или линиями каждый сектор закрывать, а цифрой их цвета менять! ВО!

  Ответить  
 
 автор: Lukas   (07.01.2012 в 21:28)   личное сообщение
 
 

Ты воопще в курсе, что количество контролов формы ограничено?

Даже для более-менее нормальной заштриховки потребуется куева туча линий.

  Ответить  
 
 автор: Дядя Федор   (07.01.2012 в 21:49)   личное сообщение
 
 


ЛЕГКАЯ ФОРМА ДЛЯ ЮЗЕРА - ЗАЛОГ УСПЕХА!

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 22:30)   личное сообщение
 
 

А зачем куева туча линий? Есть одна линия, ширина 6 пунктов, не сплошная а точечная. В результате куева туча мелких линеек.
Кстати буду очень признателен, если подскажете оператор, меняющий тип линии (сплошная, штрих-пунктир, точечная)

  Ответить  
 
 автор: Дядя Федор   (07.01.2012 в 23:22)   личное сообщение
 
 

Вернись(Вернитесь) к постановке задачи.
Забудьте советы.
СНОВА. С чистого листа.
Поможет. Точно.

  Ответить  
 
 автор: Гоблин   (07.01.2012 в 23:42)   личное сообщение
 
 

А зачем? Вроде и так все ясно. Либо линиями (дабы области узкие и 6 пунктов хватит, в крайнем случае можно подогнать рисунок или применить прямоугольники) либо рисунками, но их много делать придется. Другого выхода нет.
Кстати тут обнаружил, что акс поддерживает прозрачность в гиф формате, как и ворд. Это как-то тоже можно использовать.

  Ответить  
 
 автор: Дядя Федор   (09.01.2012 в 00:31)   личное сообщение
 
 

Я иногда говорю. "Ну-да"."Ну-да"
Это означает, что я доверяю Вашим размышлениям. Но сомневаюсь.
"Ну-да"."Ну-да" - ОЧЕНЬ ДЕЙСТВЕННО ВЛИЯЕТ НА ПОСТАНОВЩИКА ЗАДАЧИ.

  Ответить  
 
 автор: Гоблин   (09.01.2012 в 18:40)   личное сообщение
 
 

Ну-да. Не знаю что скажут юзеры, но получилось. В форме и в отчете рисунок в gif формате, в нужных местах прозрачность. Под отверстиями прямоугольники и далее в зависимости от цифры в ячейке соотсветствующий цвет. В форме - на после обновления, в отчете на форматирование области данных. Все по такому принципу:
...
For i = 1 To 6
Select Case Me("LAX" & i)
Case Is = 1
Me("Прямоугольник" & 179 + i).BackColor = 16777215
Me("LAX" & i).ForeColor = 0
Case Is = 2
....
и т.д. циклы на каждый из 5 рисунков. И все работает и раскрашивает

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList