从文本框中编辑数据库中的数据,这些数据来自子表单

时间:2013-07-11 14:17:23

标签: ms-access access-vba

在我的表单中,我有一个子表单,显示A,B,C。 然后信息C显示在文本框中。用户应该可以修改此数据以修改数据库中的数据。

我可以根据此子表单在文本框中显示信息C.但它是不可编辑的,它写成:“控制无法编辑;它绑定到表达式”

在我看来,编辑数据是不可能的,因为它不是直接来自数据库而是来自子表单,因此我进行特殊查询,直接从数据库获取数据,但是我丢失了一个基于选择正确的事件来自子表单的记录(只有onEnter和onExit事件)

是否有可能做出这样的事情?

3 个答案:

答案 0 :(得分:1)

您可以添加第二个子表单以包含C文本框。使用基础表的主键将第二个子表单链接到第一个子表单。

这是我能想到的最简单的替代方案,可以使文本框可编辑。

答案 1 :(得分: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

答案 2 :(得分:0)

好的,我的问题有一个解决方案: http://bytes.com/topic/access/answers/950422-editing-data-database-textbox-taken-subform

感谢您的任何建议!