如何在 MS-Access 的表单上显示 Web 浏览器控件中的表格字段内容?

Posted

技术标签:

【中文标题】如何在 MS-Access 的表单上显示 Web 浏览器控件中的表格字段内容?【英文标题】:How to show table field content in WebBrower Control on form in MS-Access? 【发布时间】:2016-01-06 02:10:19 【问题描述】:

我想在 Access 中的表单上显示 html 格式的文本。

我使用绑定到表格的表单。该表单有一个 Web 浏览器控件。控制源设置为表中的一个字段。

Web 浏览器控件不显示字段中保存的内容(这是我想要的),它会尝试解释字段中的内容。

如果字段内容是我 PC 上的文件名,并且此文件包含 HTML,则 HTML 将显示在表单上的 Web 浏览器控制中。

但是如果字段内容是实际的 HTML 代码(正是保存在文件中的那个),那么 Web 浏览器控件不会显示格式化的 HTML(这是我所期望的),但它会显示我的默认搜索页面正在搜索我的文件的内容。

我可以通过将表格中的所有 HTML 文本保存到文件中来解决此问题,然后在 Web 浏览器控件中打开这些文件。但应该有更简单的方法。

我确信其他人之前也尝试过,但我搜索了这个论坛和网络,但没有找到答案。

【问题讨论】:

【参考方案1】:

是的,除了您建议的方法之外,别无他法。 将其写入一个临时文件,然后将该文件显示在网络浏览器控件中。

【讨论】:

【参考方案2】:

WebBrowser 控件的控件源是最初要加载的 URL。

将其设置为="about:blank"

然后在表单后面的代码中,假设你的控件名称是WBControl,将空白文档替换为你想要的内容:

Private Sub WBControl_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim doc As Object
If pDisp.ReadyState = READYSTATE_COMPLETE Then
    Set doc = pDisp.Document.Open("text/html")
    doc.Write ("<head><style>table  border-collapse: collapse  th, td  border: 2px solid fuchsia; padding: 2px 6px </style></head>" & _
           "<body><table><tr><th>Pet Name<th>Type</th></tr><tr><td>Fred<td>dog</tr><tr><td>Garfield<td>cat</tr></table>")
    doc.Close
End If
End Sub

【讨论】:

以上是关于如何在 MS-Access 的表单上显示 Web 浏览器控件中的表格字段内容?的主要内容,如果未能解决你的问题,请参考以下文章

MS-Access 2007 - 如何在点击事件中以编程方式访问子表单列数据

ms-access:仅显示特定日期内记录的报告

ms-access 2007 年报告

将 MS-Access 表单结果导出到 Excel?

MS-Access 表单组合框不能限制粘贴的记录

如何将日期从 C# 存储到 MS-Access 以及如何检索它?