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

Пример блокировки поля после внесения данных

09.10.2014, 20:50. Показов 3099. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не сможет ли кто поделиться примером блокировки поля формы после внесения данных в него, т.е. можно было бы внести данные только 1 раз, а изменить нельзя, можно только удалить?????
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2014, 20:50
Ответы с готовыми решениями:

Обновление DataGrid после внесения данных в БД
Здравствуйте. Имеется база данных Access mdb и программа на c# WinForms для ввода значений в эту базу. БД подключена через MS Jet 4.0....

Восстановление данных после внесения изменений в реестр
Здравствуйте, коллеги! Большая проблема. На компьютере под управлением Windows 7 внес изменения в реестре: после какой-то фигни создалась...

Обновить DataGridView после внесения новых данных
Здравствуйте! Пожалуйста, помогите. У меня есть xml-файл с БД. на основной форме у меня идет отображение данных в таблице DataGridView...

7
Эксперт MS Access
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
09.10.2014, 20:56
svyasev, Я делаю так. Создаю на форме кнопку для разблокировки формы и пишу код:
Visual Basic
1
2
3
4
5
6
7
Private Sub КнопкаВаша_Click()
If Forms.ФормаВаша.AllowEdits = True Then
    Forms.ФормаВаша.AllowEdits = False
Else
    Forms.ФормаВаша.AllowEdits = True
End If
End Sub
Если вводите данные и с записи еще не ушли, то изменять данные еще можно, но если перешли на новую запись, то старая блокируется. При нажатии на кнопку открывается возможность редактирования формы полностью на любой записи. Еще рас нажали все блокируется.
2
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.10.2014, 23:31
Цитата Сообщение от svyasev Посмотреть сообщение
поделиться примером блокировки поля формы после внесения данных в него, т.е. можно было бы внести данные только 1 раз, а изменить нельзя, можно только удалить
Надеюсь Вы говорите об одном поле, а не всей записи. Для записи решение иное

На событии формы Текущая запись блокируем поле, если запись не новая. На событии поля Клавиша вниз (KeyDown), если запись не новая исполняется команда очистки поля при нажатии Del
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Form_Current()
    Me.МоеПоле.Locked = Not Me.NewRecord
End Sub
 
Private Sub МоеПоле_KeyDown(KeyCode As Integer, Shift As Integer)
    If Not Me.NewRecord And KeyCode = 46 Then
        Me.МоеПоле = Null
    End If
End Sub
3
1 / 1 / 0
Регистрация: 03.09.2011
Сообщений: 109
10.10.2014, 09:07  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Надеюсь Вы говорите об одном поле, а не всей записи
Да, я имел ввиду именно одно поле. Спасибо, вечером буду пробовать

Добавлено через 43 минуты
Уже попробовал! Да, это то, что нужно! Всем спасибо!
0
12 / 12 / 1
Регистрация: 06.11.2013
Сообщений: 113
10.10.2014, 16:37
Надеюсь Вы говорите об одном поле, а не всей записи. Для записи решение иное
А для всей записи кодом не поделитесь
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.10.2014, 18:01
Лучший ответ Сообщение было отмечено alvk как решение

Решение

Цитата Сообщение от Павел_2013 Посмотреть сообщение
А для всей записи кодом не поделитесь
Вы говорите о форме, где для единожды введенной записи недоступно изменение, но разрешено удаление всей записи? Если да, то не требуется никакой код, все решается свойствами формы. Во вкладке Данные:
Разрешить удаление (AllowDeletions) - Да
Разрешить изменение (AllowEdits) - Нет
Разрешить добавление (AllowAdditions) - Да
Добавлено через 1 час 9 минут
Оказывается, недосмотрел, Вячеслав Я, уже публиковал подобное решение программно в коде кнопки. Правда, его можно упростить до одной команды
Visual Basic
1
Me.AllowEdits = Not Me.AllowEdits
2
127 / 25 / 1
Регистрация: 07.02.2016
Сообщений: 238
17.05.2016, 07:18
Цитата Сообщение от mobile Посмотреть сообщение
Visual Basic
1
2
3
Private Sub Form_Current()
* * Me.МоеПоле.Locked = Not Me.NewRecord
End Sub
Вроде мелочь ,а помогло без проблем.
Спасибо!!!
0
1 / 1 / 0
Регистрация: 15.09.2008
Сообщений: 23
29.05.2016, 00:14
Короткое уточнение. После редактирования полей формы (форма называется "Исследование") я в обработчике события по нажатию кнопки "Сохранить запись" снова блокирую редактирование:

Visual Basic
1
2
3
Private Sub Сохранить_запись_Click()
Forms(Исследование).AllowEdits = False
End Sub
Однако после нажатия кнопки поля формы всё ещё можно редактировать и редактирование блокируется только после нажатия кнопок прокрутки (перехода к предыдущим или последующим записям). Что нужно дописать, чтобы запрет к редактированию применялся сразу же после нажатия кнопки "Сохранить_запись"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2016, 00:14
Помогаю со студенческими работами здесь

Обход блокировки поля при вставке данных
Добрый день! Подскажите пожалуйста, можно ли в данном случае (пример прилагается) обойти блокировку полей в форме, чтобы пользователь...

Сохранение и закрытие шаблона Excel после внесения данных из формы Access
День добрый. По нажатию кнопки происходит открытие шаблона Excel c последующим его заполнением из активной формы Access. Собственно...

Обновление значения поля для всех записей, после обновления значения поля в источнике данных (справочнике)?
Комбокс "lst_pic_name" заполняется из справочника. Поле "pic_path_frm" заполняется кодом: Private Sub lst_pic_name_AfterUpdate() ...

На сайте не видно изменений после их внесения!
Здравствуйте. На сайте был установлен плагин Hyper Cache. Удалил его. Теперь на сайте вношу изменений, а они не отображаются на сайте... ...

Обновление базы после внесения изменений
Понимаю, что нубский вопрос, но даже не знаю как правильно загуглить. В 1С почти не шарю, но посадили дописывать конфигурацию. Есть уже...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru