设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 12128|回复: 51
打印 上一主题 下一主题

从一窗体调用执行另一个窗体命令

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-20 15:20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要实现从一窗体调用执行另一个窗体命令,不同的人会用不同的方法,有的喜欢通过定义一个公用的涵数,在不同窗体调用相同的涵数;也有的用TIMER事件去触发另一个窗体的事件。这里介绍一个小方法跟大家分享:

       窗体1为被调用的窗体名,并建一个按钮作为测试对象:

      Private Sub Command0_Click()
           MsgBox "你已经实现了从一窗体执行另一个窗体的命令"
      End Sub

      下面是窗体2代码调用窗体1并执行Command0_Click()
       Private Sub Command0_Click()
          DoCmd.OpenForm "窗体1"
          DoEvents    '这个必须,否则只能在弹出窗体才能正确运行
          Forms!窗体1.Command0.SetFocus
         SendKeys "{ENTER}"
     End Sub

     哈哈,是不是很简单呢。这其实不是我想要的结果,最终希望能够通过API来现实不同窗体及不同程序间的互相呼唤调用,只可惜ACCESS控件的句柄有点麻烦,暂时还没能借用PostMessage实现更强大的功能。大家将就一点,等完善后就和大家分享!!
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-2-20 15:45:34 | 只看该作者
抢了沙发先 这是我最想要的,谢谢版主

点击这里给我发消息

3#
发表于 2008-2-20 17:17:41 | 只看该作者
还有一个办法,把窗体1的代码改为公用过程Public,就可直接调用过程
4#
发表于 2008-2-20 17:27:19 | 只看该作者
ok
5#
发表于 2008-2-20 19:33:52 | 只看该作者
6#
发表于 2008-2-23 10:57:18 | 只看该作者
太好了,多谢,

点击这里给我发消息

7#
发表于 2008-2-23 11:09:05 | 只看该作者
我现在是简单将事件 Private 改为 Public
8#
发表于 2008-2-23 12:56:26 | 只看该作者
窗体也是个类模块,可以用类的方法来做些事情。
9#
 楼主| 发表于 2008-2-23 13:57:49 | 只看该作者
 将事件 Private 改为 Public 用下面的方法更为方便
 Dim frm As New Form_窗体1
    frm.Command0_Click
10#
 楼主| 发表于 2008-2-23 14:01:23 | 只看该作者
本来用这个例子作为练习PostMessage的,ACCESS的控件的句柄真有点怪怪,用gotfocus得出得的值,并不是我想要的结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-11 18:01 , Processed in 0.094592 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表