Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сохранение форматирования / 14 сообщений из 14, страница 1 из 1
21.04.2004, 13:47
    #32489631
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение форматирования
Доброго всем времени.

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

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

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

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

Заранее спасибо.
...
Рейтинг: 0 / 0
21.04.2004, 14:24
    #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
21.04.2004, 16:44
    #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
21.04.2004, 17:20
    #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
21.04.2004, 17:20
    #32490399
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение форматирования
это продолжение?\r
скажи своему боссу что некуя не получится! :)
...
Рейтинг: 0 / 0
21.04.2004, 17:26
    #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
21.04.2004, 17:36
    #32490454
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение форматирования
судя по моему тынцу выше чел хочет сделать подобие экселевского листа
и раскраски отдельных ячеек, тока в табличной форме...
предствляю юзверя хотящего раскрасить в разные цвета ячеек так 50 ...
и все это условным форматированием ...
ну ну... пусть сообщит об успехах...
хотя если табличка 3х3 то да ...
...
Рейтинг: 0 / 0
21.04.2004, 17:48
    #32490490
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение форматирования
1. SergeySV большое спасибо за разъяснение.

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

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

в принципе не так много...
...
Рейтинг: 0 / 0
21.04.2004, 18:46
    #32490667
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение форматирования
А как проверил?
Я вставлял картинку 6х6х24 + поле счетчик (100 записей)
Получилось около 700 байт на запись (Access 2000)
...
Рейтинг: 0 / 0
21.04.2004, 19:08
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сохранение форматирования / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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