DoCmd OpenForm其中条件登陆NEW而不是传入参数的Key

时间:2018-02-06 06:11:17

标签: access-vba ms-access-2010 ms-access-forms

我将一条记录添加到名为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就好了。

2 个答案:

答案 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 & ""