问题描述:我正在使用Microsoft 2010,下面的代码用于将查询结果导出到Word表。但是,如果记录超过255个字符,则会导出各种特殊字符。
下面是查询、VBA等。
查询名:Qa
查询函数:从Ta中选择字段
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‘是一个Word表对象,’字段名‘是要导出到Word表的字段的名称。当fld长度小于255时,此VBA一般工作良好,但是,如果长度超过255,则会在表单元格中抛出许多特殊字符。
导出到Word表格单元格的特殊字符示例:
退D瞻껙皿 Ƭ" " ᬈ௩Hȷ⫗ 鋨Dィ௨瞻껥皿௲Ǭ" "Tೕ ŮԱ ซ鐌D我检查了从链接在这里访问MS的限制。它提到查询的记录集是1GB,我的数据少得多(~255个字符)。任何帮助都是非常感谢的。
发布于 2017-07-12 12:17:11
我认为它们被截断或损坏几乎肯定与这里列出的原因之一有关:http://allenbrowne.com/ser-63.html
根据定义,如果它们超过255个字符,它们将被解释为“备注”或“长文本”(相同的定义--“备注”是数据类型的旧名称)。
https://stackoverflow.com/questions/45056780
复制相似问题