В Access 2010 и более поздних версиях то, что вы описали, очень просто реализовать с помощью макроса данных «Перед изменением» в таблице:
Для получения дополнительной информации о макросах данных см.
Как создать макрос для постоянной блокировки записи после ее сохранения?
Моя проблема: каждая команда блокировки Access 2010, которая делает сохраненные записи недоступными для редактирования, также блокирует поля формы «Новая запись», поэтому новые записи не могут быть добавлены в базу данных. Мне нужно заблокировать то, что было сохранено, и в то же время продолжать добавлять новые записи.
В Access 2010 и более поздних версиях то, что вы описали, очень просто реализовать с помощью макроса данных «Перед изменением» в таблице:
Для получения дополнительной информации о макросах данных см.
Since you are asking for a VBA solution, you should use DoCmd.OpenTable
and acAdd
as datamode property
Sub AddOnlyMode() DoCmd.OpenTable "table1", acViewNormal, acAdd End Sub
If you execute it, an existing table called "table1" will be opened. You won't see old existing entries. You could only add new entries and edit them too as long as you don't close the table.
Once you have closed the table (saving isn't enough), your entries are locked. Opening the table again via VBA won't show any entries.
Если вы хотите заблокировать, field1
попробуйте следующее:
Private Sub Field1_GotFocus () Если Me.Field1.Text "" Тогда Me.Field1.Locked = True еще Me.Field1.Locked = False Конец, если End Sub