2014-12-22 2 views
2

У меня есть форма, которая читает данные с отношением друг к другу. В форме у меня 5 столбцов. Каждое поле первоначально обрабатывается. Но я хочу, чтобы отдельные строки блокировались после заполнения данных в столбцах 4 и 5. Эффективное завершение записи. Мне удалось выяснить, как закрыть всю форму, но не отдельные строки/записи.Заблокировать отдельные строки в подформе

Вот код, который я использую.

If IsNullorEmpty(GPInterfaceID) Then 
Me.ChargeType.Locked = True 
Else 
Me.ChargeType.Locked = False 
End If 
If IsNullorEmpty(GPPostingDate) Then 
Me.ChargeType.Locked = True 
Else 
Me.ChargeType.Locked = False 
End If 

Это версия кода, в которой я пытался заблокировать отдельные столбцы отдельно. Я также попытался заблокировать их всех сразу.

Я вообще не владею VB. Поэтому любая помощь будет оценена по достоинству.

+0

Возможный дубликат [Как заблокировать определенные строки в подчиненной форме при загрузке формы?] (Http://stackoverflow.com/questions/4849141/how-to-lock-specific-rows-in-a-subform- когда-a-form-нагрузки) –

+1

Это невозможно. –

+0

Как указано выше, это невозможно. Возможно, вы сможете создать обходной путь, удалив запись из вашей формы в событии afterupdate? – Jens

ответ

1

Вы можете сделать что-то вроде этого:

Private Sub Form_Current() 
    If IsNullorEmpty(GPInterfaceID) Then 
     Me.ChargeType.Locked = True 
    End If 
End Sub 

событие будет срабатывать каждый раз, когда вы выбираете строку. Если в выбранной строке GPInterfaceID пуст, Access будет блокировать поле ChargeType. В тот момент Access будет блокировать это поле в каждой строке, но это не имеет значения, потому что в тот момент, когда вы нажимаете на другую строку, Access снова запустит событие Form_Current() и заблокирует или разблокирует поле (и).

Смежные вопросы