Office中国论坛/Access中国论坛

标题: (求助)怪问题:同一代码,不同结果 [打印本页]

作者: siaele    时间: 2011-11-24 12:23
标题: (求助)怪问题:同一代码,不同结果
今天遇到怪事了.
相同的代码,相同的操作,但是结果却不同.
情况如下:

A窗体,点击按钮后弹出B窗体,点击B窗体按钮后将B窗体内容传送至A窗体,然后关闭B窗体--(正常)
C窗体,点击按钮后弹出D窗体,点击D窗体按钮后将D窗体内容传送至C窗体,然后关闭D窗体--(异常)

B和D窗体的代码是一样的,只是传送的内容不同而已,但是D窗体在传送内容后,却关闭了C窗体,而不是自身!?.

见下面所附例子中的:
A_ECN_New(A窗体),A_ECN_AddNew(B窗体)
B_InquirySheet_New(C窗体), B_InquirySheet_AddNewRM(D窗体),
[attach]47436[/attach]
作者: aslxt    时间: 2011-11-24 13:08
主要是接收数据的窗体先被Requery了  ,你再   DoCmd.Close   就被认为是关闭接收数据的窗体了
      ......
     MsgBox "添加原料成功!", , "添加成功"
      DoCmd.Close   '-------注意原位置在下一行之后
      Forms![B_InquirySheet_New]![InQuiry_Sub].Requery    '-------注意原位置在上一行之前
   ......

作者: siaele    时间: 2011-11-24 14:03
aslxt 发表于 2011-11-24 13:08
主要是接收数据的窗体先被Requery了  ,你再   DoCmd.Close   就被认为是关闭接收数据的窗体了
      .... ...

我也想到过这点,但是奇怪在 A_ECN_New(A窗体),A_ECN_AddNew(B窗体)
中却没有这个现象
作者: 轻风    时间: 2011-11-24 14:53
siaele 发表于 2011-11-24 14:03
我也想到过这点,但是奇怪在 A_ECN_New(A窗体),A_ECN_AddNew(B窗体)
中却没有这个现象

在 A_ECN_New(A窗体),A_ECN_AddNew(B窗体)
中没有用到.Requery 呀!
作者: tzh1600    时间: 2011-11-24 17:17
窗体焦点问题
代码把窗体名称加上吧
DOCMD.CLOSE acform,"窗体名"
我用红尘老师的通用系统也出现类似问题,后来干脆把窗体名称加上,就不会了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3