Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/41: Рейтинг темы: голосов - 41, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 24

Если флажок установлен, то поле сделать недоступным

12.06.2013, 15:16. Показов 8707. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, подскажите пожалуйста, повесила следующий код на кнопочку
Visual Basic
1
2
3
4
5
6
7
8
9
ZAP.MoveFirst
While Not ZAP.EOF
If ZAP![оплачено] = -1 Then     'если в поле выбор стоит галочка, то блокируем это поле
Me!пф_Произвести_оплату!оплачено.Locked = False
Else
Me!пф_Произвести_оплату!оплачено.Locked = True
End If
ZAP.MoveNext
Wend
По циклу он пробегает, но проблема в том, что блокирует все записи независимо от того стоит галочка или нет, и какое свойство лучше использовать Locked(блокировка) или Enabled(доступ). Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2013, 15:16
Ответы с готовыми решениями:

Если при ответе "нет" в поле следующее становится недоступным. Как сделать?
Добрый день. Как сделать (и возможно ли), чтоб при выборе отрицательного ответа в одном из полей формы следуюющее поле (а лучше несколько...

Переход в скрипт, если флажок reCAPTCHA не установлен
Здравствуйте! Возникла проблема есть скрипт php к которому обращается форма (index.php) следующим методом: <form...

Не установлен отбор(если установить поле объекта не обнаружен)
НаборЗаписей = РегистрыСведений.Обращения.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ДатаПервичногоПосещения = ЭтаФорма.ДатаПосещения; ...

31
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 24
13.06.2013, 21:20  [ТС]
Студворк — интернет-сервис помощи студентам
Ну вот, опять та же ерунда, если я этот ваш код перевешиваю на кнопочку, так как мне надо именно чтобы после того как была нажата кнопка блокировались галочки, то блокируются абсолютно все поля-флажки, независимо от того стоят они или нет.
Вложения
Тип файла: zip DB.zip (82.7 Кб, 25 просмотров)
0
 Аватар для VinniPuh
9147 / 6176 / 594
Регистрация: 27.03.2013
Сообщений: 20,046
13.06.2013, 21:39
Алёёёнка - Эх не могу просмотреть Вашу БД в формате (accdb), а то бы показал, как это сделать макросом
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
13.06.2013, 22:45
Ну а чем пример то не устроил, там нужно было только три строчки кода в свою базу перенести. Они поставлены в начало модулей форм в Вашей базе. Лишнее закомментировано.
Вложения
Тип файла: 7z DB.7z (37.5 Кб, 29 просмотров)
0
383 / 209 / 5
Регистрация: 29.05.2013
Сообщений: 337
14.06.2013, 01:33
Алёёёнка, Все свойства в форме в определенный момент могут иметь только одно значение.
Даже если в ленточной форме вы видите это поле несколько раз, оно все равно одно, это данных много.
Если вы поставите мой код на кнопку, то он будет изменять свойство поля для всех записей формы.
В вашем случае поле будет активно или не активно для всех записей в зависимости от того какое значение у поля Выбор2 в активной записи формы. То есть если вы поставите курсор в строчку где Выбор2 = Да, и нажмете свою кнопку, поле Оплата заблокируеться для всех записей, если вы поставите курсор в строчку где Выбор2 = Нет, то поле оплата разблокируется для всех записей.
В чем тогда фокус события Текущая запись. Это событие происходит как раз когда вы ставите курсор в какую нибудь запись. Программа на это событие точно также блокирует или нет все записи, но вы этого не замечаете, потому, что чтобы это заметить вам придется поставить курсор в другую запись, где Выбор имеет другое значение. Но как только вы попадаете в проверочную запись программа опять меняет свойство поля на противоположное.
Как то так.

Честное слово, не могу понять, зачем вам нужно это вешать на кнопку.
0
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 24
14.06.2013, 03:07  [ТС]
Цитата Сообщение от GenaY Посмотреть сообщение
Алёёёнка,

Честное слово, не могу понять, зачем вам нужно это вешать на кнопку.
Просто как быть, если человек поставил галочку, а не туда, как ему разблокировать её?

Добавлено через 12 минут
ltv_1953, спасибо!
0
383 / 209 / 5
Регистрация: 29.05.2013
Сообщений: 337
14.06.2013, 14:39
Цитата Сообщение от Алёёёнка Посмотреть сообщение
Просто как быть, если человек поставил галочку, а не туда, как ему разблокировать её?

Добавлено через 12 минут
ltv_1953, спасибо!
Можно сделать так.
Добавить в основную таблицу флажок, Заблокировать. Поместить его на форму. Он будет храниться с каждым счетом или чеком, (не помню что у вас, ваша база дома).
В коде который выполняется на событие Текущая запись поставить проверку на этот флажок.
Если он стоит и равен Да то код, Текущая запись, выполняется и блокирует отмеченные записи.
Если он не стоит и равен Нет, то код не выполняется вообще . И все флажки остаются разблокированы независимо от выбора.

Если пользователю понадобиться снять заблокированный флажок он должен будет прежде снять Главный флажок Заблокировать.

Но по моему вы усложняете там где это делать не обязательно.
1
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
13.11.2015, 16:36
Не стал заводить новую тему. Второй день моего знакомства с Access. Ситуация. Есть форма для ввода данных с множеством полей. Некоторые поля объеденены чисто визуально в блоки (для удобства понимания) и перед этими блоками есть галочка. Задача. Если перед блоком галочка не стоит, то поля ввода данных этого блока неактивны (затемнены, ввод данных невозможен), если поставить галочку, то можно вбивать данные.
В программировании не силен, я так понял нужно создать процедуру Afterupdate(), а дальше стандартные If, then, else.
Private Sub flag_afterupdate()
If flag.enabled = true then field1.enabled
else field1.disabled
End sub

Не исключено что я написал полную чушь, но тем не менее надо как то продвинуться дальше.
0
Эксперт MS Access
26828 / 14508 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.11.2015, 17:02
Надо иначе
Visual Basic
1
2
3
Private Sub flag_afterupdate()
If flag = true then field1.enabled=True else field1.enabled = False
End sub
Но можно короче
Visual Basic
1
2
3
Private Sub flag_afterupdate()
field1.enabled=flag
End sub
1
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
13.11.2015, 17:13
ну в приницпе такой вариант я тоже мучал,но не работает нифига, "Введенное выражение содержит имя функции, которое приложению не удалось найти"
Галочку связывал с кодом VB так: в свойствах галочки, на вкладке события указал в пункте "после обновления" =flag2_afterupdate()
без знака = ругался что нет такой функции
есть подозрения что это делается не так (привязка кода к объекту на форме)
0
Эксперт MS Access
26828 / 14508 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
13.11.2015, 17:59
На вкладке события, в После обновления флажка надо указать "Процедура обработки события" (выбирается из выпадающего списка). Любая другая запись в этой строке приводит к отсутствию процедуры, но что акс и указывает Вам.
Последующий клик мышкой в кнопку с тремя точками в этой же строке выведет в модуль формы, прямо в эту процедуру. Там и записать код.
1
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
16.11.2015, 15:17
понял где собака зарыта. В общем проблема оказалась в том, что я создаю не обычную БД, а Веб-БД, для того, чтобы потом работать через sharepoint. Майкрософт в руководстве говорят, что код VB при работе через веб работать не будет, и весь этот функционал реализовывать необходимо через макросы, да вот незадача, никак не получается. Вроде бы создаю все логично, но каждый раз одно и тоже сообщение "не найден элемент управления с таким-то именем". Имена перепроверил десятки раз, все ок (даже из предложенного списка их выбирал).
Как можно назначить макрос на галочку, чтобы при ее состоянии "Истина", необходимые поля были активны, иначе заблокированными?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
16.11.2015, 16:11
Макрос, без Вашей базы, тогда только картинка. ффф - флажок, ппп - поле. Ну и аналогичный макрос для После обновления ффф.
Миниатюры
Если флажок установлен, то поле сделать недоступным  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.11.2015, 16:11
Помогаю со студенческими работами здесь

Как сделать так, чтобы при нажатии определенной радиокнопки определенное поле text становилось недоступным с !СЕРЫМ! фоном?
Скажите, как сделать так, чтобы при нажатии определенной радиокнопки определенное поле text становилось недоступным с !СЕРЫМ! фоном? ...

Как запретить оптравку формы пока не установлен флажок
Как сделать так что бы пока бы policy checkbox выключен, кнопка отправить была неавктивной(просто нельзя было бы на нее нажать) ...

Как запретить оптравку формы пока не установлен флажок
Как сделать так что бы пока бы policy checkbox выключен, кнопка отправить была неавктивной(просто нельзя было бы на нее нажать) Вот...

Функция в форме Access: Поле 4= «Санкт-Петербург», если Поле 2 = «С» или «Москва», если Поле 2 = «М»
Подскажите пожалуйста функцию в Access в форме, если вообще такое вообще так можно сделать: Поле 4= «Санкт-Петербург», если Поле 2 = «С»...

Поле типа флажок в таблице значений
Помогите решить задачу. Есть Розница, базовая. Требуется, во внешней обработке, вывести таблицу, где первый столбец - чекбоксы, второй -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru