2013-07-11 1 views
1

В моей форме у меня есть подчиненная форма, которая отображает A, B, C. Затем информация C отображается в текстовом поле. Пользователь должен иметь возможность изменять эти данные для изменения данных в базе данных.Редактирование данных из базы данных в текстовом поле, которые взяты из подформы

Я могу отображать информацию C в текстовом поле на основе этой подформы. Однако это нецелесообразно, написано: «Контроль нельзя редактировать, он связан с выражением«.

Мне кажется, что невозможно редактировать данные, потому что они берутся не из базы данных, а из подформы, поэтому я делаю специальный запрос, который берет данные непосредственно из базы данных, однако я теряю событие, основанное на выборе надлежащая запись из подформы (есть только события onEnter и onExit)

Можно ли сделать такие вещи?

+0

Существует ли таблица данных в MS Access, это связанная таблица или данные, поступающие из запроса? – Lisa

+0

Подформа выполнена из запроса на основе существующих таблиц MS Access. – galvanize

+0

Если нижеприведенный ответ не решает вашу проблему, проверьте дополнительные причины, по которым ваш набор записей не может быть обновляемым: http://rogersaccessblog.blogspot.com/2009/11/this-recordset-is-not-updateable-why. html – Lisa

ответ

0

Если вы используете набор записей, чтобы заполнить или изменить что-либо, убедитесь, что вы используете .Edit и .Update для изменения существующей ячейки в строке.

Dim myR as Recordset 

Set myR = CurrentDb.OpenRecordset("Table_Name_Here", dbOpenDynaset) 

'use a .FindFirst method to find the row you want to modify 
'or modify the Recordset to pull a SELECT statement instead of the whole table 

myR.Edit 
myR![Field_to_edit] = Forms![main form name]![subform control name].Form![control name] 
myR.Update 

Set myR = Nothing 
+0

После отображения данных из подформы в текстовом поле я ничего не могу записать. Похоже, он заблокирован. Данные в текстовом поле записываются с помощью ControlSource = [subForm]! [Column] – galvanize

+0

Получено сообщение «Контроль не может быть отредактирован, он связан с выражением« [subFrom]! [Column] » – galvanize

+0

Данные из 'C' отображается в текстовом поле C в подформе, а также отображается в основной форме в текстовом поле? Извините, я думал, что вам просто нужна информация из подформы для редактирования данных в таблице. – Grant

1

Вы можете добавить вторую подформу, содержащую текстовое поле C. Свяжите вторую подформу с первой с основным ключом основной таблицы.

Это самая простая альтернатива, которую я могу придумать, чтобы сделать текстовое поле редактируемым.

+0

Thank You, В данный момент я ближе всего к вашему решению, однако я бы предпочел вариант с текстовым полем, потому что информация C довольно долго. – galvanize

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