0

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

但表格在 DISTR_ID 字段中显示“新”。为什么会跳到那里?

如果我关闭主窗体并重新开始。形式 DISTRO 就好了。

4

2 回答 2

1

这解决了它。我最终以这种方式强制重新查询:

 DoCmd.OpenForm "DISTRO"
 DoCmd.Close acForm, "DISTRO"

在使用 where 条件打开表单之前

DoCmd.OpenForm "DISTRO", acNormal, , "DISTR_ID= " & Me.DISTR_ID

但是很高兴知道正确的方法。

于 2018-02-07T23:56:13.090 回答
0

你不应该需要最后一个参数,所以试试:

DoCmd.OpenForm "DISTRO", acNormal, , "COB_ID = " & Me!COB_ID & " and distr_id = " & Me.DISTR_ID & ""
于 2018-02-06T07:19:27.687 回答