访问查询记录集结果输出到word显示特殊字符

Access query recordset result output to word shows special characters

问题描述: 我正在使用 Microsoft Access Plus 2010,使用以下代码将查询结果导出到 Word table。但是如果记录超过255个字符,就会导出各种特殊字符。

下面是查询,VBA等等

查询名称: Qa

查询函数: 来自Taselect的字段

VBA:

Dim qbf As QueryDef
Dim dabase As Database
Set dabase = CurrentDb
Set qdf = dbase.QueryDefs(Qa)
Dim results As Recordset
Dim flds As String
Set results = qdf.OpenRecordset()
While (Not results.EOF)
    doc.addRecord results
    results.MoveNext
Wend
qdf.Close

Public Sub addRecord(pubRecordSet As Recordset)
flds = pubRecordSet.Fields("fieldname")
    mTable.cell(1, 1).range.InsertAfter (flds)
...
End Sub

其中'mTable'是一个Wordtable对象,'fieldname'是要导出到Word的字段名Table。 当 flds 的长度小于 255 时,这个 VBA 通常工作正常,但是,如果长度超过 255,它会在 Table 单元格中抛出很多特殊字符。

导出到 Word table 单元格的特殊字符示例:

 退D瞻껙皿  Ƭ" "  ᬈ௩Hȷ⫗ 鋨D૝૝ィ௨瞻껥皿௲Ǭ" "Tೕ ŮԱ ࿨ซ鐌D

我从link here检查了MS Access的限制。它提到查询的记录集是 1GB,我的数据要少得多(~255 个字符)。感谢任何帮助。

我认为它们被截断或损坏几乎可以肯定与此处列出的原因之一有关:http://allenbrowne.com/ser-63.html

根据定义,如果它们的长度超过 255 个字符,它们将被解释为备忘录或长文本(相同的定义 - 备忘录是数据类型的旧名称)。