powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сохранение форматирования
14 сообщений из 14, страница 1 из 1
сохранение форматирования
    #32489631
Фотография msn13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени.

Делаю я значит форматирование.......

.FormatConditions.Delete
.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions(0).BackColor = 12632256

sss(ind)-условие форматирование

Все бы неплохо, но фон в столбце (подчиненой формы) выделяется только одним текстом.
Может кто нибудь знает, как можно это решить, т.е. выделение разными цветами, если это конечно возможно.
Переходить на Грид не очень то хочится, все формы уже почти готовы.

Заранее спасибо.
...
Рейтинг: 0 / 0
сохранение форматирования
    #32489760
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че-то не догнал... разными цветами с одним условием или разными цветами со своими условиями. Если второй вариант, то никто тебе не мешает добавить еще одно условие и еще одно и еще одно, пока ....

.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions(0).BackColor = 12632256

.FormatConditions.Add acExpression, , Условие2
.FormatConditions(1).BackColor = 12632257

.FormatConditions.Add acExpression, , Условие3
.FormatConditions(2).BackColor = 12632258
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490261
Фотография msn13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если делаю так то выделяется только первое условие
With Form_baza.SongName
.FormatConditions.Delete
.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions(0).BackColor = RGB(200, 200, 255)
.FormatConditions.Add acExpression, , "[SongName]='Ресторан'"
.FormatConditions(0).BackColor = RGB(0, 0, 255)
End With

И так тоже
With Form_baza.SongName
.FormatConditions.Delete
.FormatConditions.Add acExpression, , "[SongName]='Ресторан'"
.FormatConditions(0).BackColor = RGB(0, 0, 255)
.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions(0).BackColor = RGB(200, 200, 255)
End With

т.е. второе условие не воспринимается вообще.

причем цвет форматирование берется от второго условия

Помогите кто нибудь разобраться.
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490395
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видишь разницу ?

.FormatConditions( 0 ).BackColor = RGB(0, 0, 255)
.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions( 0 ).BackColor = RGB(200, 200, 255)

и

.FormatConditions( 0 ).BackColor = RGB(0, 0, 255)
.FormatConditions.Add acExpression, , SsS(iNd)
.FormatConditions( 1 ).BackColor = RGB(200, 200, 255)
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490399
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это продолжение?\r
скажи своему боссу что некуя не получится! :)
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490416
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут даже разбираться не надо, проблема в том что ты похоже не очень понимаешь один из наиболее распространенных объектов в VB - это коллекция.

Принцип везде в VB одинаковый, при добавлении в коллекцию (а FormatConditions - это именно коллекция, буква "s" обычно отличает коллекцию от свойств и методов) объекты нумеруются по порядку начиная с нуля (есть токо несколько исключений где начинается с 1), соответсвенно и обращаться к элементам коллекции нужно по индексу...

я писал:
.FormatConditions( 0 ).BackColor =
.FormatConditions( 1 ).BackColor =
.FormatConditions( 2 ).BackColor =

а ты все время пишешь:
.FormatConditions( 0 ).BackColor =
.FormatConditions( 0 ).BackColor =
.FormatConditions( 0 ).BackColor =
т.е. обращаешь к нулевому правилу/условию и каждый раз этому условию меняешь цвет на новый

Советую почитать справку в VB про коллеции, потому что не знание этого - очень большой пробел, коллекции используются в VB повсеместно.
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490454
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по моему тынцу выше чел хочет сделать подобие экселевского листа
и раскраски отдельных ячеек, тока в табличной форме...
предствляю юзверя хотящего раскрасить в разные цвета ячеек так 50 ...
и все это условным форматированием ...
ну ну... пусть сообщит об успехах...
хотя если табличка 3х3 то да ...
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490490
Фотография msn13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. SergeySV большое спасибо за разъяснение.

2. Артисту табличка примерно 50х20,000

продолжение следует......
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490549
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артисту
А почему бы и не раскрасить все ячейки (прийдется конечно немного потрудиться)
Создаем табличку Fon (Условие - уникальное, ris - объект OLE). Создаем ris как точечный рисунок одного цвета (цвет фона) (разный взависимости от Условие). Количество цветов насколько хватит терпения.
Далее делаем поле на форме прозрачным, а под ним располагаем элемент Присоединенная рамка объекта. Для рамки устанавливаем свойство Данные: =DLookUp("Ris";"Fon";"Условие=" & SsS(iNd))
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490568
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется что:
даже если сделаешь такой рисунок из одной точки - оле объект будет приличного размера - в результате получишь тормоза
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490570
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Roma R
я тока за!
тока из за этого приходится смотреть на сторонние гриды ...
по этому и говорю - пусть поделится успехами потом ...
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490606
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверил картинка bmp в 1 пиксель с 24 битным цветом увеличивает бд на порядка 8-14 кб

в принципе не так много...
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490667
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как проверил?
Я вставлял картинку 6х6х24 + поле счетчик (100 записей)
Получилось около 700 байт на запись (Access 2000)
...
Рейтинг: 0 / 0
сохранение форматирования
    #32490700
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, наврал это после того ка первую запись добавил так выросло

Len(DLookup("color", "colors", "id=3")) = 77


немного тока в Access 2002 присвоить ole - объекту =DLookup(...
в рекордсоурс не дает нужного эфеекта, проходит только если эти цвета выбрать в таблицу ...

Код: plaintext
1.
SELECT testtable.*, resultcolor([Val1],[val2],[val3]) AS color
FROM testtable;



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Function resultcolor(V1, v2, v3)
Dim res As Integer
On Error Resume Next
If V1 / v2 = v3 Then res =  2 
If V1 / v2 <> v3 Then res =  1 
If Err.Number <>  0  Then res =  3 
resultcolor = DLookup( "color" ,  "colors" ,  "id="  & res)

End Function


вот те и условное форматирование ))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сохранение форматирования
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]