我有一个Access报告所基于的以下查询。在两个不同的领域,即长文本和#34;在查询中,它显示为符号。
SELECT qryCA.CASSIRecordNum,
Replace(qryCA.[TypeInspection],"_"," ") AS TypeInspection,
qryCA.SSI_Record_Name,
qryCA.Phonenumber,
qryCA.InspectedBY,
qryCA.Project,
qryCA.DateTimeInspection,
qryCA.Question,
qryCA.Describe,
qryCA.DispatchStatus,
qryCA.ProjectSupervisor,
qryCA.Date_Time_Form_Opened,
qryCA.Date_Time_Form_Submitted,
qryCA.Was_the_corrective_action_comp,
qryCA.Why,
qryCA.Corrective_Action_Completed_By,
qryCA.Date_Time_Corrective_Action_Co, Left(qryCA.Rank,1) AS Rank
FROM qryCA
WHERE (((qryCA.SSI_Record_Name) Is Not Null));
显示为中文字符的两个字段是qryCA.Describe和qryCA.Why。
我一直在寻找解决方案,并尝试了一个紧凑的修复,因为建议。我还看到了一个建议,即此错误可能是由于对备忘录/长文本字段进行分组。但我的查询中没有分组。表格中,qryCA没有显示任何中文字符。
答案 0 :(得分:1)
尝试使用:
Left(qryCA.Describe, 255),
或:
Mid(qryCA.Describe, 1),
虽然这会截断一个长文本。 最终(来自qryCA或 - 更好 - 它的源表):
DLookup("[Describe]", "qryCA", "[CASSIRecordNum]=" & CASSIRecordNum & "") As FullDescribe,
然而,这将非常缓慢。
答案 1 :(得分:0)
我怀疑您的表中有记录数据已损坏。直接打开表格并在字段qryCA.Describe和qryCA.Why上排序。排序A-Z或Z-A并查看故障记录是否显示在顶部。其中包含错误的记录也会包含这些字符。这些应该被删除,如果必须,重新输入新记录的数据。这些是紧凑/修复无法自行解决的错误。