Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database MS Access外键记录填充太快_Database_Ms Access_Ms Office - Fatal编程技术网

Database MS Access外键记录填充太快

Database MS Access外键记录填充太快,database,ms-access,ms-office,Database,Ms Access,Ms Office,我的MS Access数据库中的一个表单有问题,奇怪的是,它是唯一有这个问题的表单 表单具有典型的主/详细结构,子表单绑定到表。子窗体记录源包含一个外键,该外键从另一个表中提取信息,并根据键值填充其余字段。此外键是定义库存中特定对象的物料编号,子窗体中的其他字段显示此对象的详细信息 符号表中的示例: 物料编号:116063175 储存箱:A116 材料说明:停止标志 尺寸:48x48 所有这些信息都包含在同一个表格中,但该表格用于填写特定道路上的标志(停车、限速等) 在我的所有其他表格上,当我输

我的MS Access数据库中的一个表单有问题,奇怪的是,它是唯一有这个问题的表单

表单具有典型的主/详细结构,子表单绑定到表。子窗体记录源包含一个外键,该外键从另一个表中提取信息,并根据键值填充其余字段。此外键是定义库存中特定对象的物料编号,子窗体中的其他字段显示此对象的详细信息

符号表中的示例:

物料编号:116063175

储存箱:A116

材料说明:停止标志

尺寸:48x48

所有这些信息都包含在同一个表格中,但该表格用于填写特定道路上的标志(停车、限速等)

在我的所有其他表格上,当我输入材料编号并将焦点转移到其他任何地方时,其余表格将自动填写。这个过程在这里也很有效,但由于某种原因Access希望在我输入完材料编号之前,尝试填充其余的字段数据。我将键入“1”,access将抛出一个错误,即它无法在外键表的Signs表中找到匹配的记录。两次拒绝错误后,数据输入可以恢复正常,这也很奇怪

我希望我已经足够清楚了,这是我第一次在这里问问题

提前谢谢

编辑:尝试重新构建表单,同一问题。构建了另一个类似的表单,但没有我的多个组合框,没有问题!这可能是由于组合框的Afterupdate事件中的底层重新查询代码造成的吗?我在表单上设置了级联组合框,数据输入是否会触发重新查询

Edit2:目前,我使用的一个修复方法是将物料编号和数量(此表单的两个重要字段)放入子表单外的文本框中,用户可以编辑该文本框,然后单击按钮将其放入子表单中,其编码如下:

Private Sub Command1_Click()
If Me!PrimaryRoadInventorySubform.Form.Dirty Then
        Me!PrimaryRoadInventorySubform.Form.Dirty = False
End If
Me!PrimaryRoadInventorySubform.SetFocus
DoCmd.GoToRecord , , acNewRec
Me!PrimaryRoadInventorySubform.Form!MaterialNumber = MaterialNumtxt
Me!PrimaryRoadInventorySubform.Form!Quantity = Quantitytxt
End Sub

是否将limittolist属性设置为“是”?OnChange事件中是否有任何代码?@dbmitch:此表单中唯一存在的代码是表单上两个组合框的AfterUpdate事件(与此物料编号对象无关;它们有助于指定存储在表单所基于的表中的信息。此代码仅重新查询组合框)。我不限制在表单中将属性列表设置为“是”,除了一个未绑定到子表单的组合框。并且我可以看到的子窗体的列表属性没有限制。。。