0

我正在尝试在访问表单中合并一个 html 菜单。我如何将反馈(关于用户在网页中选择的内容)从网页获取到 Access。我正在使用 Access 2007,MS WebBrowser 组件。

任何帮助,将不胜感激

4

1 回答 1

0

没有正式的方式来调用托管表单或从 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).

于 2017-01-03T07:49:19.703 回答