Access ODBC 子表单字段太小而无法编辑
Posted
技术标签:
【中文标题】Access ODBC 子表单字段太小而无法编辑【英文标题】:Access ODBC Subform field size too small to edit 【发布时间】:2014-12-12 14:09:48 【问题描述】:我有一个带有组合框的表单,它允许用户使用
过滤子表单中的数据DoCmd.SearchForRecord , "", acFirst, "[Division] = " & "'" & Screen.ActiveControl & "'"
然后用户应该将数据添加到下面的子表单中。
我有两个问题:
当用户尝试编辑此数据时,他们得到“该字段太 小以接受您尝试添加的数据量。尝试 插入或粘贴更少的数据”。无论哪个 用户尝试输入数据的字段,他们都遭受了这个 问题。
已过滤的“部门”字段显示为#Error for 新的记录线。我为此设置了一个临时变量(见下文),所以它应该 显示用于过滤器的值,但无论是否使用默认设置。
TempVars.add "Div", [Combo5].Value
我查看了我的 ODBC 表单,所有数据类型/大小等看起来都相同。
这个表格里已经有数据了,可以编辑,虽然大小一样,但是不能保存新的记录。除此之外,我还可以编辑支持表中的数据。
【问题讨论】:
表中是否有任何列定义为“备忘录”?您的列定义为什么大小?在用户从组合框中选择一个值之前,子表单上是否有任何过滤器? SearchForRecord 不过滤,它搜索。您尝试搜索子表单而不提供前两个参数的事实可能会使 Access 感到困惑。我建议在子表单的记录克隆对象上使用 Find 方法,然后设置书签。还要 debug.print 您的“查找”标准,以确保它包含您期望的内容。 @AVG 我想编辑数据时可以使用recordsetclone吗?我以为它是只读的? 是的,它是可编辑的。一个简单的 bingoogle 搜索将为您提供丰富的信息。这是一个包含您想要实现的目标的示例。 msdn.microsoft.com/en-us/library/office/… @AVG 感谢您的提示。你是对的 - 经过进一步研究,搜索功能导致了错误。但是,我在记录克隆/书签方面遇到了严重的问题。我认为这是因为我的子表单实际上是一个数据表,所以虽然书签设置为第一个所需的记录,但它仍然显示列表中的所有记录,并且不限于此过滤器。无论如何要过滤子表单中的数据表吗? 【参考方案1】:回答
感谢@AVG 和@WayneG.Dunn 的帮助。我最终使用了以下代码并按照建议使用了过滤器。我无法让它在子表单上很好地工作,所以我隐藏了该字段并将其用作子表单的主字段。仍然在新记录标签中收到错误消息“字段太小”和“#ERROR”,但表单有效,所以我将按原样使用它。参考代码:
DoCmd.SetFilter "Division", "Division = " & "'" & [Combo5].Value & "'"
【讨论】:
以上是关于Access ODBC 子表单字段太小而无法编辑的主要内容,如果未能解决你的问题,请参考以下文章
插入Access数据库时发生错误,请联系开发人员.字段太小而不能接受所要添加的数据
如何在Access中使用子表单时编辑现有记录而不创建新记录?
Microsoft Access 2013 - 无法通过子表单添加新记录
MS Access - 基于同一张表但不同记录的表单和子表单