我将一条记录添加到名为tbl_DISTR的表中。主键是DISTR_ID
基于tbl_DISTR的子表单是sf_DISTR。我重新查询它,可以看到新的价值。
我使用sf_DISTR中保存值的文本框打开不同版本的表单(DISTRO)以进行其他处理。
像这样:
DoCmd.OpenForm "DISTRO", acNormal, , "COB_ID = " & Me!COB_ID & " and distr_id = " & Me.DISTR_ID, acFormEdit
但表格上写着" NEW"在DISTR_ID字段中。它为什么跳到那里?
如果我关闭主表格并重新开始。表格DISTRO就好了。
答案 0 :(得分:1)
这解决了它。我最终以这种方式强制重新查询:
DoCmd.OpenForm "DISTRO"
DoCmd.Close acForm, "DISTRO"
在打开带有where条件的表单之前
DoCmd.OpenForm "DISTRO", acNormal, , "DISTR_ID= " & Me.DISTR_ID
但是知道正确的方法会很好。
答案 1 :(得分:0)
您不应该需要最后一个参数,因此请尝试:
DoCmd.OpenForm "DISTRO", acNormal, , "COB_ID = " & Me!COB_ID & " and distr_id = " & Me.DISTR_ID & ""