1

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

我能够基于此子表单在文本框中显示信息 C。然而它是不可编辑的,它被写成:“Control can't beedited; it's bound to the expression”

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

有可能做出这样的事情吗?

4

3 回答 3

1

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

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

于 2013-07-11T16:18:46.523 回答
0

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

感谢您的任何建议!

于 2013-07-12T08:00:23.627 回答
0

如果您使用记录集来填充或修改任何内容,请确保您使用.Editand.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
于 2013-07-11T15:30:27.873 回答