Ошибка 2115 в Access 2016

У меня ошибка:

Ошибка выполнения 2115

Макрос или функция, заданная для свойства BeforeUpdate или ValidationRule для этого поля, не позволяет Microsoft Access сохранять данные в поле.

Код выглядит следующим образом, и доступ прерывается для отладки в строке 2:

Set rs = db.OpenRecordset("Select * from TransactionsC Where IDClient = '" & Extract & _
                           "' Order by IDTransaction DESC")
Set Me.EditTransactionsC_subform.Form.Recordset = rs
Me.EditTransactionsC_subform.Form.Requery
Set rs1 = db.OpenRecordset("Select Filed, Year, Notes from ClientNotes Where IDClient = '" & _
                            Extract & "' Order by Year DESC")
Set Me.ClientNotes_subform.Form.Recordset = rs1
Me.ClientNotes_subform.Form.Requery

Не могу понять в чем ошибка.


person user7549177    schedule 25.04.2017    source источник


Ответы (1)


Нет необходимости открывать и устанавливать переменные объекта набора записей.

Me.EditTransactionsC_subform.Form.RecordSource = "SELECT * FROM TransactionsC WHERE IDClient = '" & Extract "' ORDER BY IDTransaction DESC;"

Но зачем менять свойство RecordSource? Вместо этого рекомендуется использовать свойства Filter и FilterOn или DoCmd.FindRecord.

person June7    schedule 25.04.2017
comment
Я получаю ошибку времени выполнения 91. Переменная объекта или с переменной блока не установлена ​​в измененной строке. - person user7549177; 25.04.2017
comment
Извините, я скопировал/вставил ссылку на вашу подчиненную форму, в которой был RecordSet. Смотрите мой отредактированный ответ, изменяющий это на RecordSource. Я только когда-либо использовал этот подход один раз, и это было для отчета. Еще порекомендуйте другие методы. - person June7; 25.04.2017