Ms access 是否改为尝试更新组合框更新表?
我是一个有点入门的新手,但我正在慢慢地理解。我正在工作中重建一个数据库,在更新组合框方面我遇到了一个奇怪的问题 我想做的是,先用复合体,然后用机器名,把我们工厂的每个部分分开。为此,我使用了两个组合框;第一个列表列出了各种综合体,第二个列表列出了该综合体可用的各种机器。通过选择一个复合体,然后选择一台机器,我想列出与该特定机器关联的所有数据 但是,我遇到的问题是,在尝试更新机器组合框时,我表单中的一个文本框(我已设置为锁定)将使用所选复合体的索引进行更新。然后,该索引将替换复杂表中第一个条目的名称 下面列出了用于更新机器组合框的VBA代码。(在将此代码合并到多项目表单的标题中之前,我没有任何问题。) 编辑 下面的链接显示了正在发生的事情的屏幕截图,以帮助澄清。Ms access 是否改为尝试更新组合框更新表?,ms-access,vba,Ms Access,Vba,我是一个有点入门的新手,但我正在慢慢地理解。我正在工作中重建一个数据库,在更新组合框方面我遇到了一个奇怪的问题 我想做的是,先用复合体,然后用机器名,把我们工厂的每个部分分开。为此,我使用了两个组合框;第一个列表列出了各种综合体,第二个列表列出了该综合体可用的各种机器。通过选择一个复合体,然后选择一台机器,我想列出与该特定机器关联的所有数据 但是,我遇到的问题是,在尝试更新机器组合框时,我表单中的一个文本框(我已设置为锁定)将使用所选复合体的索引进行更新。然后,该索引将替换复杂表中第一个条目的名
这是一个答案和一条评论,但我的评论越来越长,我喜欢格式,所以我将其发布 一目了然,您应该使用未绑定的控件来控制过滤框(机器和复合体) 表单的记录源(假设机器表数据,您可以根据需要对其进行定制)可以绑定到以下内容:
SELECT*FROM machine WHERE complexID=[Forms]![我的表格]![cboComplex]和Machine=[Forms]![我的表格]![cboMachine]
更新这些框时,您可以form.requery
或者你可以让它更通用,比如Select*FROM Machine
,在更新机器组合框后,只需设置表单的Filter
属性
因此,在组合框更新后(您可以单独筛选每个组合框,或者假设/要求从每个组合框中进行选择),您可以设置一个筛选器
Me.Filter = "Complex = """ & Me.cboComplex & """"
me.filteron = true
这些只是关于如何实现这一点的几点建议。至于你的过滤框更新你的表数据,我假设这是因为你把它们绑定到了你的表:)这是一个答案和一条评论,但我的评论越来越长,我喜欢格式,所以我发布它 一目了然,您应该使用未绑定的控件来控制过滤框(机器和复合体) 表单的记录源(假设机器表数据,您可以根据需要对其进行定制)可以绑定到以下内容:
SELECT*FROM machine WHERE complexID=[Forms]![我的表格]![cboComplex]和Machine=[Forms]![我的表格]![cboMachine]
更新这些框时,您可以form.requery
或者你可以让它更通用,比如Select*FROM Machine
,在更新机器组合框后,只需设置表单的Filter
属性
因此,在组合框更新后(您可以单独筛选每个组合框,或者假设/要求从每个组合框中进行选择),您可以设置一个筛选器
Me.Filter = "Complex = """ & Me.cboComplex & """"
me.filteron = true
这些只是关于如何实现这一点的几点建议。至于您的筛选器框更新表数据,我假设这是因为您将它们绑定到了表:)文本框是否绑定到了表?也许您应该创建一个未绑定的框并填充它?我试图了解您想要完成什么当您选择一个复合体时,您希望第二个下拉列表只过滤到该复合体的机器,然后使用该机器和复合体ID填充表单的数据?是的,此时,文本框绑定到我的表。它目前是绑定的,因为我试图弄清楚多个条目表单是如何工作的,但这对于我为什么需要填充它是有意义的。是的,关于我希望如何填充我的表单,您也是正确的。抱歉,不够清晰。文本框是否绑定到您的表?也许您应该创建一个未绑定的框并填充它?我试图了解您想要完成什么当您选择一个复合体时,您希望第二个下拉列表只过滤到该复合体的机器,然后使用该机器和复合体ID填充表单的数据?是的,此时,文本框绑定到我的表。它目前是绑定的,因为我试图弄清楚多个条目表单是如何工作的,但这对于我为什么需要填充它是有意义的。是的,关于我希望如何填充我的表单,您也是正确的。很抱歉不够清晰。好吧,我理解你的意思,我只是想让它起作用。我只需要弄清楚如何正确使用form.requery。如果您选择我的第一个建议,在第二个组合框(或第一个组合框)的
更新后事件中,您可以放置[Forms]![myForm]。重新查询
和可能的[Forms]![myForm]。刷新
没问题,很高兴你能理解。好的,我理解你的意思,我只是让它正常工作。我只需要弄清楚如何正确使用form.requery。如果您选择我的第一个建议,在第二个组合框(或第一个组合框)的更新后事件中,您可以放置[Forms]![myForm]。重新查询
和可能的[Forms]![myForm]。刷新
没问题,很高兴你能理解。