我正在尝试在访问表单中包含一个html菜单。如何从网页获取反馈(用户在网页中选择的内容)到Access。我正在使用Access 2007,MS WebBrowser组件。
任何帮助将不胜感激
答案 0 :(得分:0)
没有官方方法可以在WebBrowser中调用托管表单或启动Access上的任何活动。
然而,我使用了一个漂亮的技巧。加载文档后,您可以将某些元素的setAttribute设置为Access窗体。 htmlDoc.all.formDiv.setAttribute "outerForm", Me
然后,您可以在WebBrowser中引用表单的属性和方法。
document.all.formDiv.outerForm.Application.DoCmd.Close(2,"webForm")
修改强>:
奇怪的是,当我添加<META http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
标签时,似乎引用仍然为空。看起来,属性现在更严格,setAttribute期望一个字符串。
下一个选项是将访问表单(&#39; Me&#39;)传递给WebBrowser中的变量。然而,它看起来并不直接暴露全局变量或函数。
但是,这可以通过向HTMLBodyElement原型添加一个函数来轻松克服,该函数将其参数传递给全局变量,并且也可以返回任何类。
在html页面中你有这个:
var frm = null;
HTMLBodyElement.prototype.setForm = function(f){frm = f}
从Access只需将参考传递给htmlDoc.document.body.setForm(Me)
。