powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, как автоматизировать код
16 сообщений из 16, страница 1 из 1
Подскажите, как автоматизировать код
    #32837232
Access 2000. MDB.

Есть форма. На ней организован поиск по номеру.

При появлении данных, эти даные выделяются жирным шрифтом.

Код такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    If Me.fldF1 <>  0  Then
        Me.fldF1.FontBold = True
    Else
        Me.fldF1.FontBold = False
    End If
    If Me.fldF2 <>  0  Then
        Me.fldF2.FontBold = True
    Else
        Me.fldF2.FontBold = False
    End If
    If Me.fldF3 <>  0  Then
        Me.fldF3.FontBold = True
    Else
        Me.fldF3.FontBold = False
    End If
    If Me.fldF4 <>  0  Then
        Me.fldF4.FontBold = True
    Else
        Me.fldF4.FontBold = False
    End If

Все работает. Одно но - очень громоздко, когда полей более 15.

Подскажите как можно автоматизировать такой код?
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32837247
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
dim ct as control
dim i as integer
for i =  1  to n
set ct = me("fldF" & i)
ct.FontBold = (ct <>  0 )
next

a еще лучше условное форматирование - кода не надо
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32837281
А с использованием условного форматирования, как будет выглядить?
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32837391
e_basil, спасибо. Все работает.

А как модифицировать код:

Код: plaintext
1.
2.
3.
4.
5.
6.
dim ct as control
dim i as integer
for i =  1  to n
set ct = me("fldF" & i)
ct.FontBold = (ct <>  0 )
next

Если поля будут не fldF1, fldF2, fldF3, ..., fldFn , а fldF1, fldF3, fldF10, fldF15 ?

Т.е. нужно, чтобы, если нет такого поля, программа переходила к следущему и т.д.
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32837609
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2e_basil, спасибо. Все работает.

А как модифицировать код:

Код: plaintext
1.
2.
3.
4.
5.
6.
dim ct as control
dim i as integer
for i =  1  to n
set ct = me("fldF" & i)
ct.FontBold = (ct <>  0 )
next

Если поля будут не fldF1, fldF2, fldF3, ..., fldFn , а fldF1, fldF3, fldF10, fldF15 ?

Т.е. нужно, чтобы, если нет такого поля, программа переходила к следущему и т.д.

1. on error resume next
условное форматирование см в хелпе
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838168
Пытаюсь использовать автоматизированный код с использованием условного форматирования:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    For i =  1  To  70 
        Set ctr = Me("Поле" & i)
        If ctr <>  0  Then
            With ctr.FormatConditions
                .BackColor = RGB( 255 ,  255 ,  255 )
                .FontBold = True
                .ForeColor = RGB( 255 ,  0 ,  0 )
            End With
        Else
            ctr.FormatConditions = False
        End If
        On Error Resume Next
    Next

Ругается на строчку:

Код: plaintext
1.
.BackColor = RGB( 255 ,  255 ,  255 )

Пишет, что объект не поддерживает данный метод.

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

ошибка может быть из-за того, что
Код: plaintext
On error resume next 
стоит после выполнения кода, и
Код: plaintext
set ctr
указывает на несуществующий контрол или контрол типа, не поддерживающего метод
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838819
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для отбора нужных контролов удобно испльзовать tag
For c1 in Me.Controls
If c1.Tag="Этот надо обработать" then Чтотоужасное
Next c1
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838825
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле for each :^)
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838891
У ctr нет такого свойства.

А если пишу Me.Поле1. то есть такое свойство FormatConditions.

Ведь:

Код: plaintext
Set ctr = Me("Поле" & i)

Где я ошибаюсь?
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838971
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Пользователь2А как модифицировать код:

Код: plaintext
1.
2.
3.
4.
5.
6.
dim ct as control
dim i as integer
for i =  1  to n
set ct = me("fldF" & i)
ct.FontBold = (ct <>  0 )
next

Если поля будут не fldF1, fldF2, fldF3, ..., fldFn , а fldF1, fldF3, fldF10, fldF15 ?
dim s as variant
for each s in array("fldF1", "fldF3", "fldF10", "fldF15")
set ct=me(s)
...
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32838998
Поль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно использовать конечно:

Формат --> Условное форматирование

Но! Хочется знать как можно это реализовать программно.

Владимир Саныч, я просто привел пример. Полей около 20, надо, чтобы он в цикле все обрабатывал.
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32839032
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ПольВладимир Саныч, я просто привел пример. Полей около 20, надо, чтобы он в цикле все обрабатывал.
for each s in array("vghg", "dghjdhgjd", "gfh", "fghdhg", "dghj", "ghdjhgd", "dgjnhgdd", "sdfhg", "ghdjs", "sfhsg", "gdhjkjfh", "sfghfd", "fhk", "dghjdg", "dghjdgh", "dghj", "sfghsf", "jhkf", "zdfhg", "sfdhh")
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32839088
Владимир Саныч, а как с условным форматированием реализовать?
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32839588
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Пользователь2Владимир Саныч, а как с условным форматированием реализовать?
Я не знаю.
...
Рейтинг: 0 / 0
Подскажите, как автоматизировать код
    #32839732
Саныч, ну как же так? :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, как автоматизировать код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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