设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6229|回复: 13
打印 上一主题 下一主题

[模块/函数] 【Access小品】向朱亦文老师汇报--WebBrowser控件与数据库交互示例

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-28 21:49:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 todaynew 于 2012-8-29 06:06 编辑

  昨天朱老师写了一段关于WebBrowser控件的代码,其中对于在javascript中定义一个对象变量accForm,并在vba中设置的处理很有意思。今天反复琢磨后,觉得可以不这么写。便尝试着多种改变方式,发现在javascript调用vba的函数或者子程序(甚至变量)时,也可以直接用parentWindow对象。只是这样的处理有时候报错,报错的原因不明。

  这个问题研究过后,觉得还是用朱老师的方法更好一些。并由此深入考虑了一个问题,那就是关于WebBrowser控件的Hello World是什么?我觉得至少应该是做出一个简单的数据筛选来吧,于是便尝试着向这个方向编写代码。思路上有两个,其一是直接写javascript或者JQuery代码,不过这个方向实现虽然不成问题,但是比较啰嗦也没新意。于是想到第二个思路,那就是能否用vb写函数或子程序,而由html标签的事件来调用这些函数,这个思路有点像vb.net中间层处理。

  
  按照第二个思路,需要解决两个方面的问题,第一是找到WebBrowser控件在vba的各种标签对象,并试验他们的属性和方法;第二是解决好javascript调用函数和子程序问题。从网上的资料很难找到现成的解法,不过还是可以连蒙带猜的找到一些具体的方向和手段。经过近三个小时的努力,终于在主要的问题上取得了突破。于是便写此例,一是向朱老师汇报学习情况,二是于版友们分享学习成果。

  这个示例是Hello World级别的,没有做css样式和其他复杂的功能,主要是表现动态将数据表中的数据通过vba函数加载到WebBrowser控件中。但是由这个示例,不难扩展到更为广泛的运用,比如像数据库写入数据、比如分页呈现数据等等。



本帖子中包含更多资源

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

x

评分

参与人数 1经验 +6 收起 理由
zhuyiwen + 6 赞一个!

查看全部评分

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖2 订阅订阅
2#
发表于 2012-8-28 22:32:52 | 只看该作者
很不错,学习了!

点击这里给我发消息

3#
发表于 2012-8-28 22:51:38 | 只看该作者
爽!赞一个!

点击这里给我发消息

4#
发表于 2012-8-28 22:55:37 | 只看该作者
todaynew 发表于 2012-8-28 20:30
用vb写函数或子程序,而由html标签的事件来调用这些函数,这个思路有点像vb.net中间层处理。


确实,就是把Access当服务器端来写。很像ASP.NET AJAX。呵呵......

点击这里给我发消息

5#
发表于 2012-8-28 23:29:03 | 只看该作者
'body的onload事件不知为何没反应,只好用下拉列表框的onmouseover事件代替

是因为加载的是“about:blank”网页,而用Document.write,它并不是加载网页,所以不可能激活onload事件。

因此,要在 Document.write 之后,手工调用 onload 指定的脚本代码,或用 VBA 调理一次。
6#
发表于 2012-8-28 23:33:10 | 只看该作者
学习

点击这里给我发消息

7#
发表于 2012-8-29 00:27:18 | 只看该作者
这个要学
8#
 楼主| 发表于 2012-8-29 05:47:01 | 只看该作者
zhuyiwen 发表于 2012-8-28 23:29
'body的onload事件不知为何没反应,只好用下拉列表框的onmouseover事件代替

是因为加载的是“about:blan ...

明白了,可不用任何标签事件,而直接在执行Document.write后,执行向下拉列表框加载数据的函数GetDepartment
9#
发表于 2012-8-29 07:56:27 | 只看该作者
最近大家怎么都爱上这东东了,学习~
10#
发表于 2012-8-29 08:14:20 | 只看该作者
很不错,学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 20:16 , Processed in 0.108479 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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