|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Простите, ну уже кажется все варианты перепробовал, ничего не получилось. Имеется форма с полями А,В,С и полем "Поле1". Все поля по-умолчанию видны. Нужно чтобы если Поле1 пустое, то поля АВС не видны, иначе - видны. Сделал макрос вида: Если [Поле1] Is Null, то Задать свойство "Поля А,В,С" видно = False, иначе "Поля А,В,С" видно = True (есснно, для каждого поля отдельная строка "задать свойство") Ставил макрос как для Поля1, так и для самой формы на события: после обновления, внесены изменения, изменение, даже на перемещение указателя - не срабатывает. Что не так? На ВБА не умею. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 04:49 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
P.S. Значение "Поля1" изменяется по нажатию кнопки на диалоговом окне, потом форма обновляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 04:51 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, лови работающий примёр. Если надо, что бы и при открытии формы проверялось условие заполнения Поле1 (а не только после обновления этого поля), то пропиши проверку (которая стоит в событии "после обновления" Поле1 ) в событие формы "Открытие". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:10 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, Спасибо за пример. Но написал по присланному примеру процедуру на событие "после обновления". К сожалению, ничего не изменилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:46 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, не понял: "событие "после обновления"" - событие чего, какого объекта ? Поля, формы? Событие "после обновления" для Поле1 уже заполнено, а что и где вы указали - пока загадка. И не путаете ли вы понятия "пустое" поле и "нуль в поле"? Пример, который я выслал - полностью рабочий, заточен как раз таки под "пустое" значение - как вы и просили. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:51 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
ща попробую обновление дописать, тк при нажатии F5 все норм ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:51 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, событие для поля1. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:52 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, так событие "после обновления" в Поле1 уже настроено. Ставите любую цифру-букву в этом поле, жмёте Ентер - вуаля, поля АВС видны. Удаляете всё из поля1 - ничего не видно. И то, что вы нажимаете F5 - это всего лишь обновление формы, оно прописано в событии как me.refresh ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:55 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, если для Поля1 на событие "после обновления" стоит ваш пример, то поля становятся виды после нажатия F5. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 06:59 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
В моей форме я имею ввиду ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:00 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, простите, я вру. Если этот пример стоит для события после обновления, то ничего не меняется. А если его установить для события формы "текущая запись", то все хорошо после нажатия F5. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:03 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, не знаю, я вашу форму не видел, как она настроена - не знаю. И чтой то меня терзают предчувствия - что настроена весьма хаотично и наугад ;) Если есть желание - скиньте образец, гляну, что не так. Только в формате Access 2003 или 2007. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:03 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, Боюсь, что вы наугад перебираете события формы и полей. Давайте заново. У вас есть поле - допустим, Поле1. Фактически, у него бывают два состояния заполненности (если исходить из вашего техзадания): пустое и непустое (про вариант с нулём я упоминал, раз ничего не ответили - полагаю, вы в курсе). В зависимости от его заполненности видны или не видны поля А, В, С. Теперь главное. Проверка состояния заполненности Поля1 нужная не постоянно (хотя можно и такое организовать), а после какого то события. Например - при открытии формы, или при заполнении/удаления Поле1. Ну или при изменении состояния какого то другого объекта в форме. Но вы этого не указывали, потому гадать не буду. Что именно и как хотите получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:10 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
ну а если надо и при самом открытии "сразу" проверить заполненность поля Поле1 и отработать видимость А, В, С, то в событии самой формы "Открытие" копируете тот же самый код, который записан в событии "После обновления" для Поле1: If IsNull(Me.Поле1) Then A.Visible = False B.Visible = False C.Visible = False Me.Refresh Else A.Visible = True B.Visible = True C.Visible = True End If Как бы и всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:15 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, на форме, где есть Поле1 есть кнопка. При ее нажатии вылазит диалоговое окошко, и при нажатии "ОК" на диаголовом окошке значение Поля1 становится не пустым, а диалоговое окошко закрывается. В макрос для кнопки диалогового окошка в конце я добавил "обновление", после чего ваш пример стал работать так как я хочу, установленный для события "текущая запись" формы с Полем1. Вроде пока понятно, щас еще проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:17 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Tarasios, ну вроде всё. Я вам очень благодарен за помощь. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:22 |
|
Задать свойство макросом
|
|||
---|---|---|---|
#18+
Лысёк, ну, про кнопку с диалогом вы не говорили. Понятное дело, что тогда ситуация немного по другому выглядит. после отработки диалога, происходит заполнение "Поле1", далее форма обновляется, и вот только тогда запускается код проверки. И да, уходите с использования непосредственно макросов: это такие костыли, что первое время кажутся очень удобными, а потом катастрофически мешают, добавляя излишнюю громоздкость конструкций. Например, попробуйте прямо на свою кнопку навесить пример проверочного кода, не суйте его в макрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2016, 07:23 |
|
|
start [/forum/topic.php?fid=45&msg=39354922&tid=1612939]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
105ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 370ms |
total: | 574ms |
0 / 0 |