我正在尝试在访问表单中合并一个 html 菜单。我如何将反馈(关于用户在网页中选择的内容)从网页获取到 Access。我正在使用 Access 2007,MS WebBrowser 组件。
任何帮助,将不胜感激
我正在尝试在访问表单中合并一个 html 菜单。我如何将反馈(关于用户在网页中选择的内容)从网页获取到 Access。我正在使用 Access 2007,MS WebBrowser 组件。
任何帮助,将不胜感激
没有正式的方式来调用托管表单或从 WebBrowser 中启动 Access 上的任何活动。
但是,我使用了一个绝妙的技巧。加载文档后,您可以将某些元素的属性设置为 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 需要一个字符串。
下一个选项是将访问表单 ('Me') 传递给 WebBrowser 中的变量。但是,看起来全局变量或函数并没有直接公开。
但是,这可以通过向 HTMLBodyElement 的原型添加一个函数来轻松克服,该函数将其参数传递给全局变量,并且也可以返回任何类。
在 html 页面中,您将拥有以下内容:
var frm = null;
HTMLBodyElement.prototype.setForm = function(f){frm = f}
从 Access 只需将参考向下传递:htmlDoc.document.body.setForm(Me)
.