设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 读写整合后窗体的内容

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2018-11-1 09:33:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    最近在用做一个小东东。即把所有窗体都在主界面的窗体控件中显示出来,不再像传统的独立显示,给人感觉窗体很乱。昨天在测试新功能时突遇一bug,即主窗体上不通读写其窗体控件所显示窗体的控件,怎么样,很绕吧。
    一般显示其他窗体指定控件内容时用“forms!窗体名!控件名”即可,而在此案中该方法无效,然后就电话骚扰王站了,通过他的指导此bug修复到了正常状态。
    最后再描述一下前后写法对比:
                                                   原写法: forms!窗体名!窗体控件名!要显示的窗体名!控件名----->报错
                                                   新写法: forms!窗体名!窗体控件名.form.控件名----->正确
    因为通过窗体的SourceObject控制显示其他窗体时是以子窗体形式完成的,所以要显示的窗体此时充当了子窗体的角色,而在类似这种用法时子窗体名是不会出现的,所以用"forms!窗体名!窗体控件名!要显示的窗体名!控件名"会报错。

来自群组: ACC应用开发心得交流

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
5#
发表于 2021-10-13 16:05:42 | 只看该作者
学习
回复

使用道具 举报

4#
发表于 2018-11-1 14:32:10 | 只看该作者
白菜的理解有所偏颇。非要用叹号表达式也不是不可以的。由于内置的是child控件,因此是不可以直接这样写(如果不是child控件,而是普通窗体,倒是没问题的):
forms!窗体名!窗体控件名!要显示的窗体名!控件名
child控件不能视为窗体,而是视为控件。因此一旦需要读取child控件绑定的某个控件的值,就需要使用form(即返回到父级),再进行引用。即:
forms!窗体名!窗体控件名!form!要显示的窗体名!控件名
附上相应代码和附件
  1. Private Sub Command0_Click()
  2. Me.Form!Main_fm.SourceObject = "frm_f1"
  3. 'Me.Main_fm.SourceObject = "frm_f1"
  4. End Sub

  5. Private Sub Command1_Click()
  6. Me.Form!Main_fm.SourceObject = "frm_f2"
  7. 'Me.Main_fm.SourceObject = "frm_f2"
  8. End Sub

  9. Private Sub Command11_Click()

  10. MsgBox Forms!frm_Main!Main_fm.Form!Text7
  11. 'MsgBox Me.Main_fm.Form.Text7
  12. End Sub
复制代码

本帖子中包含更多资源

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

x

点击这里给我发消息

3#
发表于 2018-11-1 10:42:13 | 只看该作者
好示例,赞一下!

点击这里给我发消息

2#
发表于 2018-11-1 10:35:20 | 只看该作者
附:在Access主窗体上读写Access子窗体对象
http://www.office-cn.net/book/childform/168.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 00:08 , Processed in 0.094662 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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