Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2009, 15:26   #1
Uzmaster
 
Регистрация: 31.12.2009
Сообщений: 8
По умолчанию Как активировать кнопку?

Подскажите, плз, как сделать так, чтобы кнопка открывания другой формы становилась активной (доступной) только после заполнения всех необходимых полей в исходной форме
Uzmaster вне форума Ответить с цитированием
Старый 31.12.2009, 21:38   #2
VistaSV30
Форумчанин
 
Аватар для VistaSV30
 
Регистрация: 08.12.2009
Сообщений: 136
По умолчанию

По моему нужно сделать так:
после измения любого поля, посредством VBA проверять правильность заполнения всех полей и в зависимости от результата изменять свойство кнопки
Код:
Кнопка.Enabled = False
на
Код:
Кнопка.Enabled = True

Последний раз редактировалось VistaSV30; 01.01.2010 в 07:30.
VistaSV30 вне форума Ответить с цитированием
Старый 01.01.2010, 12:51   #3
Uzmaster
 
Регистрация: 31.12.2009
Сообщений: 8
По умолчанию

Прошу прощения, можно ли поподробнее - как написать код полностью
Uzmaster вне форума Ответить с цитированием
Старый 01.01.2010, 14:38   #4
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

В Вашем случае лучше использовать стандартные методы аксесса - в свойствах полей, где ввод данных обязателен, поставить "Да" в "Обязательное поле"
Abrakadabra вне форума Ответить с цитированием
Старый 01.01.2010, 16:18   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Uzmaster.
задача "чтобы кнопка...становилась активной.." может быть выполнена подобным кодом:
Код:
Sub Поле1_Change()
    enCtl Поле1
End Sub
Sub Поле3_Change()
    enCtl Поле3
End Sub
Sub Поле5_Change()
    enCtl Поле5
End Sub
Sub enCtl(sCtl)
Dim b As Boolean, oArr(), o, s$
oArr = Array(Поле1, Поле3, Поле5)
For Each o In oArr
    If sCtl.Name = o.Name Then s = o.Text Else s = o & ""
    If Len(s) = 0 Then b = True: Exit For
Next
Кнопка.Enabled = Not b
End Sub
но если заполнение полей действительно обязательно, я рекомендовал бы Вам прислушаться к совету Abrakadabra и в свойствах источника данных (таблице) установить для них "Обязательное поле" (NOT NULL).
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 01.01.2010, 19:56   #6
Uzmaster
 
Регистрация: 31.12.2009
Сообщений: 8
По умолчанию

Спасибо всем!
Uzmaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как активировать ячейку в первой нескрытой записи? dsapa Microsoft Office Excel 3 22.07.2009 08:02
Как активировать в окне программы Mathcad окно Математика Tancha Софт 1 30.11.2008 13:02
Как скрыть кнопку Volkogriz Общие вопросы Delphi 6 21.11.2008 19:07
как сделать кнопку? joci Microsoft Office Excel 3 23.04.2008 20:50
Как активировать чужое приложение Hintman Win Api 3 30.04.2007 16:24