Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教:打开一个子窗体自动关闭另一个子窗体的问题

牛先生  发表于:2010-06-12 16:11:45  
复制

在主窗体里面设置了6个打开子窗体的按钮,能不能设置成,在1号子窗体已经打开的状态下,当打开2号子窗体的时候,就自动关闭已经打开了的1号子窗体呢?另外,在实际操作的时候,不能够确定到底哪一个子窗体第一次打开,或者是也不能确定第二次打开的子窗体会是哪一个。这种情况下该怎样设置呢?

 

Top
wyh99999 发表于:2010-06-12 20:17:41

我的笨办法就是,在每个子窗体的按钮事件中打开相应的子窗体同时,关闭其余的五个子窗体。。。。

【我只爱一个,别人我不爱,给滚开。哈哈。。。。。】



牛先生 发表于:2010-06-12 21:22:47
谢谢你的提示,我想也是这样,但问题是如何做到这种效果。

ruizhe zhou 发表于:2010-06-12 21:36:20
用macro.

wyh99999 发表于:2010-06-12 22:10:30

如果是六个不同表结构的子窗体,可有选项卡处理.

(那就像皇帝的生活,我要到那个房间随我按哪个房间的门,并在这里想做什么就做什么,其余五个空着.哈哈....)



煮江品茶 发表于:2010-06-14 07:28:42

不知道子窗体关闭为何含义。

从你的上一个刷新控件的实例看,有三个递进的不合理。其一为缺少一个选项卡控件,若干个子窗体置于选项卡中较为合理;其二为数据结构相同的子窗体均可合而为一,可通过子窗体数据源的转换得到不同表或查询的数据;其三为数据结构相同的表均可合而为一,可通过筛选得到所需的数据。

由此看来,这个问题本身无解。倒是这个问题隐藏的问题值得注意。



牛先生 发表于:2010-06-14 08:21:51

主要是因为有时候操作人员不注意关闭已经打来了的子窗体,随手就又打开了另一个子窗体,甚至于,都不进行关闭,结果就将子窗体统统的打开了,如果是能够设置成当打开第二个子窗体时,就自动关闭前一个已经打开了的子窗体的话,就能避免这种桌面上有无数个打开了的窗体了。

关于版主提的上一个刷新的问题,也是出于方便操作人员,简化操作步骤的目的而设置的,比如,当打开订单录入时,发现有了新的产品品种或者是有了新的客户了,如果按正常的操作模式,就得先关闭当前要进行录入的订单窗体,返回到基本资料窗体进行产品资料或者是客户资料的录入,然后再打开订单窗体进行录入。如果能够设置成这样的话,我所设想的方式,不就可以减少操作步骤了吗。



煮江品茶 发表于:2010-06-14 16:02:48
Function 关闭窗体()
Dim frm As Form
For Each frm In Forms
   If frm.Name <> "基本信息维护" Then
      DoCmd.Close acForm, frm.Name
   End If
Next frm
End Function


总记录:7篇  页次:1/1 9 1 :