在我的表单中,我有一个子表单,显示A,B,C。 然后信息C显示在文本框中。用户应该可以修改此数据以修改数据库中的数据。
我可以根据此子表单在文本框中显示信息C.但它是不可编辑的,它写成:“控制无法编辑;它绑定到表达式”。
在我看来,编辑数据是不可能的,因为它不是直接来自数据库而是来自子表单,因此我进行特殊查询,直接从数据库获取数据,但是我丢失了一个基于选择正确的事件来自子表单的记录(只有onEnter和onExit事件)
是否有可能做出这样的事情?
答案 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
感谢您的任何建议!