长文本在MS Access查询中显示为中文字符

时间:2017-02-17 15:10:27

标签: sql ms-access access-vba

我有一个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没有显示任何中文字符。

2 个答案:

答案 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并查看故障记录是否显示在顶部。其中包含错误的记录也会包含这些字符。这些应该被删除,如果必须,重新输入新记录的数据。这些是紧凑/修复无法自行解决的错误。