Ms access 为什么赢了';当我使用Access数据库VBA取消主字段和子字段的链接时,是否重新查询我的表单

Ms access 为什么赢了';当我使用Access数据库VBA取消主字段和子字段的链接时,是否重新查询我的表单,ms-access,parent-child,Ms Access,Parent Child,我想做的事 我希望能够链接和取消链接Access数据库中的主字段和子字段 表单设置 我有一个名为“frmQuote”的主窗体和名为PartInformation的子窗体。Partinformation recordsource是一个查询 方法 Private Sub Link_Click() Me!PartInformation.LinkMasterFields = "PartID" Me.PartInformation.LinkChildFields = "PartID" En

我想做的事
我希望能够链接和取消链接Access数据库中的主字段和子字段

表单设置
我有一个名为“frmQuote”的主窗体和名为PartInformation的子窗体。Partinformation recordsource是一个查询

方法

Private Sub Link_Click()
    Me!PartInformation.LinkMasterFields = "PartID"
    Me.PartInformation.LinkChildFields = "PartID"
End Sub


Private Sub Command645_Click()
     Me!PartInformation.LinkMasterFields = ""
     Me.PartInformation.LinkChildFields = ""
     Me.PartInformation.Requery
End Sub
问题

我可以成功链接和取消链接,但作为子表单“PartInformation”记录源的查询没有重新查询或给出预期结果。当我取消表单链接时,我的子表单将被粘贴在新记录上,而不是显示所有记录。同样,在我链接主字段和子字段之前,“PartInformation”也可以正常工作,只有在我链接然后取消链接之后,我才能得到问题。

它应该立即工作-您甚至可以/应该跳过:

Me.PartInformation.Requery
因为这将自动发生。此外,如果您应该将字段设置回原来的位置


所以还有别的事情发生了。

将字段设置回原来的值是什么意思?也已删除。重新查询,但仍得到相同的结果。请将它们设置回旧值:
“PartID”
。它将立即强制重新查询。如果没有,请研究子窗体的其他代码或源查询。我无法重置它,直到我能够在窗体取消链接时执行必要的操作,当我取消链接窗体时,我希望它能像链接它们之前一样工作。嗯,我的意思是作为测试。它必须起作用。如果没有,请创建一个新表单和子表单以确认行为,然后研究当前表单的不同之处。我错过了阅读您的评论的机会,我将尝试测试它,看看发生了什么情况
PartInformation
查询是否有
WHERE
子句或子表单是否有任何筛选?是条件=[forms]![frmQuote]![frmQuote_CustomerName]是我用来过滤查询中的部分信息的组合框。您可能没有在子表单上获得任何记录,因为没有任何内容与
[Forms]匹配![frmQuote]![frmQuote\u CustomerName]
还是为空?取消两个表单的链接不会删除此条件。记录在那里,在链接表单之前,我可以滚动浏览记录,一旦链接,然后取消链接,我的表单将被卡在新记录上,即使我没有更改任何内容