Как создать макрос для постоянной блокировки записи после ее сохранения?

Моя проблема: каждая команда блокировки Access 2010, которая делает сохраненные записи недоступными для редактирования, также блокирует поля формы «Новая запись», поэтому новые записи не могут быть добавлены в базу данных. Мне нужно заблокировать то, что было сохранено, и в то же время продолжать добавлять новые записи.

3 ответа3

1

В Access 2010 и более поздних версиях то, что вы описали, очень просто реализовать с помощью макроса данных «Перед изменением» в таблице:

BeforeChange.png

Для получения дополнительной информации о макросах данных см.

Создать макрос данных

0

Если вы хотите заблокировать field1 попробуйте следующее:

Private Sub Field1_GotFocus()  
    If Me.Field1.Text  "" Then   
      Me.Field1.Locked = True  
    Else  
      Me.Field1.Locked = False  
    End If
End Sub
0

Поскольку вы запрашиваете решение VBA, вы должны использовать DoCmd.OpenTable и acAdd as datamode свойство

Sub AddOnlyMode()    
    DoCmd.OpenTable "table1", acViewNormal, acAdd    
End Sub

Если вы выполните его, будет открыта существующая таблица с именем "table1". Вы не увидите старые существующие записи. Вы можете только добавлять новые записи и редактировать их слишком долго, пока вы не закроете таблицу.

Как только вы закрыли таблицу (сохранение недостаточно), ваши записи будут заблокированы. Повторное открытие таблицы через VBA не будет отображать никаких записей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .