Ms access Access ODBC子窗体字段大小太小,无法编辑

Ms access Access ODBC子窗体字段大小太小,无法编辑,ms-access,subforms,Ms Access,Subforms,我有一个带有组合框的表单,允许用户使用 DoCmd.SearchForRecord,“,acFirst,”[Division]=“&“&Screen.ActiveControl&“” 然后,用户应将数据添加到下面的子表单中 我有两个问题: 当用户试图编辑此数据时,他们会得到“字段太小” 很小,无法接受您尝试添加的数据量。请重试 插入或粘贴更少的数据”。哪一个都不重要 用户试图将数据输入的字段都会遇到这种情况 问题 已过滤的“除法”字段显示为#Error for 新的记录行。我已经为此设置了一个临

我有一个带有组合框的表单,允许用户使用

DoCmd.SearchForRecord,“,acFirst,”[Division]=“&“&Screen.ActiveControl&“”

然后,用户应将数据添加到下面的子表单中

我有两个问题:

  • 当用户试图编辑此数据时,他们会得到“字段太小” 很小,无法接受您尝试添加的数据量。请重试 插入或粘贴更少的数据”。哪一个都不重要 用户试图将数据输入的字段都会遇到这种情况 问题

  • 已过滤的“除法”字段显示为#Error for 新的记录行。我已经为此设置了一个临时变量(见下文),因此它应该 将显示用于过滤器的值,但在使用或不使用默认设置的情况下显示

    TempVars.add“Div”,[Combo5].Value

  • 我查看了我的ODBC表单,所有数据类型/大小等看起来都是相同的

    此表单中已有数据,可以编辑,即使大小相同,但不能保存新记录。除此之外,我还可以编辑支持表中的数据。

    答案

    感谢@AVG和@WayneG.Dunn的帮助。我最终使用了下面的代码,并按照建议使用了过滤器。我无法让它在子窗体上很好地工作,所以我隐藏了该字段,并将其用作子窗体的主字段。在新的记录标签中仍然会收到错误消息“field too small”和“#error”,但是表单可以正常工作,所以我将按原样使用它。参考代码:

    DoCmd.SetFilter“Division”,“Division=“&””&[Combo5]。值&“


    表中是否有任何列定义为“备注”?列的定义大小是多少?在用户从组合框中选择值之前,子窗体上是否有任何筛选器?SearchForRecord不进行筛选,而是进行搜索。您试图搜索子窗体而不提供前两个参数,这可能会混淆访问。我建议对子窗体的recordsetclone对象使用Find方法,然后设置书签。还要调试。打印您的“查找”条件,以确保它包含您期望的内容。@AVG当我要编辑数据时,我可以使用recordsetclone吗?我以为它是只读的?是的,它是可编辑的。简单的bingoogle搜索将为您提供丰富的信息。这里有一个示例,它确切地包含了您想要实现的目标@谢谢你的提示。你说得对-在进一步研究之后,搜索功能导致了错误。然而,我正在为recordsetclone/bookmark而苦苦挣扎。我认为这是因为我的子表单实际上是一个数据表,所以虽然书签被设置为第一个所需的记录,但它仍然显示列表中的所有记录,并且不限于此过滤器。是否仍要筛选子窗体中的数据表?