Vba 刷新子窗体

Vba 刷新子窗体,vba,ms-access,Vba,Ms Access,我有一个叫做A的表单名,我在表单A中添加了两个表单B和C作为子表单。我想在子表单B中输入值。一旦我在表单B中输入值,表单C应该刷新以显示表单B中的值。 目前我使用下面的编码,但它不工作。你能找到正确的解决办法吗 Private Sub nametxt_AfterUpdate() Dim mydb As Database Dim SqlStr1, SqlStr2, SqlStr3, Sqldup As String Set mydb = CurrentDb SqlStr1 = &quo

我有一个叫做A的表单名,我在表单A中添加了两个表单B和C作为子表单。我想在子表单B中输入值。一旦我在表单B中输入值,表单C应该刷新以显示表单B中的值。 目前我使用下面的编码,但它不工作。你能找到正确的解决办法吗

Private Sub nametxt_AfterUpdate()
Dim mydb As Database

 Dim SqlStr1, SqlStr2, SqlStr3, Sqldup As String

 Set mydb = CurrentDb
 
SqlStr1 = "Insert Into Sample (name) Values ('" & nametxt.Value & "')"

mydb.Execute (SqlStr1)

mydb.Close

Me.Refresh

Me.Parent.sub2.Form.Requery

End Sub
一旦我在表格B中输入值,表格C就会刷新

然后必须使用文本框或表单的某些AfterUpdate事件(只有保存记录时才会发生)。那么这就行了:

 Me.Parent!NameOfSubformControl.Form.Requery

“不工作”意味着什么-错误信息,错误结果,什么都没发生?在重新查询子窗体C之前,可能需要先提交子窗体B上的记录。为什么两个子窗体会显示相同的数据?我对先提交记录编辑的评论如何?仍然不明白为什么有两个表单,但如果您需要,它应该可以工作。如果表单是绑定的,则不需要插入操作。有关以编程方式保存记录的方法,请参阅,谢谢您的理解。上述代码不起作用。没有错误消息。您保存记录了吗?在保存之前,表单C对修改后的数据一无所知。如果表单已绑定,则不要执行查询。只需设置
Dirty=False
即可保存记录。