设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 获得值后返回控件焦点

[复制链接]
跳转到指定楼层
1#
发表于 2010-6-2 22:38:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 luhao 于 2010-6-2 22:42 编辑

不知怎用 Screen.ActiveControl去解决 ,请老师们指教

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-6-3 09:13:50 | 只看该作者
不知怎用 Screen.ActiveControl去解决 ,请老师们指教
luhao 发表于 2010-6-2 22:38

此问题似乎不必用Screen对象。
因为使用 Screen 对象及其属性,可以引用拥有焦点的窗体。你那个在背后的窗体目前没有焦点,于是乎你需要使之有焦点,而使之有焦点之前你要知道他叫什么名字,否则你不知道该让谁有焦点。
可是你既然知道他叫什么名字了,就又不必让他有焦点,因为你此时可以用forms来向他传递数据。
3#
 楼主| 发表于 2010-6-3 18:56:50 | 只看该作者

尝试

本帖最后由 luhao 于 2010-6-3 19:01 编辑

2# todaynew
我尝试了这样的函数,提不示:表达式引用了一个关闭或不存在的对象
Private Sub List0_DblClick(Cancel As Integer)
    If ActiveFormForm_SFiler筛选排产主表数据 = ActiveForm Then
        Form_SFiler筛选排产主表数据.ActiveControl = Me.List0.Column(0)
        DoCmd.Close acForm, "S筛选数据FrilersFile"
    End If
   
    If ActiveFormForm_SFiler筛选排产订单明细 = ActiveForm Then
        Form_SFiler筛选排产订单明细.ActiveControl = Me.List0.Column(0)
        DoCmd.Close acForm, "S筛选数据FrilersFile"
    End If
End Sub
4#
发表于 2010-6-3 19:54:46 | 只看该作者
是不是应该:forms("SFiler筛选排产主表数据"),因为如果
SFiler筛选排产主表数据 = ActiveForm 的话,Me.List0应该在“SFiler筛选排产主表数据”窗体上,这和你的图示矛盾。
此外不活动的窗体是否可以用ActiveControl我不太清楚。
5#
发表于 2010-6-3 23:12:22 | 只看该作者
dsgdsgdf
6#
 楼主| 发表于 2010-6-4 02:20:14 | 只看该作者
4# todaynew
如果只有一个条件
    If ActiveFormForm_SFiler筛选排产主表数据 = ActiveForm Then
        Form_SFiler筛选排产主表数据.ActiveControl = Me.List0.Column(0)
        DoCmd.Close acForm, "S筛选数据FrilersFile"
    End If

就运行正常的.
但2个条件就出错了
7#
 楼主| 发表于 2010-6-4 03:28:12 | 只看该作者
4# todaynew 最后用了
Private Sub List0_DblClick(Cancel As Integer)
    If CurrentProject.AllForms("SFiler筛选排产主表数据").IsLoaded = True Then '判断窗体是否打开
        Form_SFiler筛选排产主表数据.ActiveControl = Me.List0.Column(0)
        DoCmd.Close acForm, "S筛选数据FrilersFile"
    End If

   
    If CurrentProject.AllForms("SFiler筛选排产订单明细").IsLoaded = True Then '判断窗体是否打开
        Form_SFiler筛选排产订单明细.ActiveControl = Me.List0.Column(0)
        DoCmd.Close acForm, "S筛选数据FrilersFile"
    End If
End Sub
测试通过
8#
发表于 2010-6-4 09:04:39 | 只看该作者
4# todaynew  最后用了
Private Sub List0_DblClick(Cancel As Integer)
    If CurrentProject.AllForms("SFiler筛选排产主表数据").IsLoaded = True Then '判断窗体是否打开
        Form_SFiler筛选排产主表数 ...
luhao 发表于 2010-6-4 03:28

两个窗体都是打开的怎么搞?
9#
 楼主| 发表于 2010-6-4 22:36:04 | 只看该作者

不会

8# todaynew
弹出方式和模式 都选是就不会出错了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 17:27 , Processed in 0.117725 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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