【问题标题】:Long text is showing as Chinese characters in query on MS Access长文本在 MS Access 上的查询中显示为汉字
【发布时间】:2017-02-18 00:26:09
【问题描述】:

我有一个 Access 报告所基于的以下查询。在查询中的“长文本”两个不同的字段上,它显示为符号。

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 不显示任何汉字。

【问题讨论】:

  • 他们在哪里出现了错误的字符集?不清楚你为什么用 VBA 标记它。
  • 它们显示在查询本身以及查询所基于的报告中。我删除了 VBA 标签,这是错误的。
  • qryCA如何显示?
  • qryCA 以正确的文本显示。

标签: sql ms-access vba


【解决方案1】:

尝试使用:

Left(qryCA.Describe, 255), 

或:

Mid(qryCA.Describe, 1), 

虽然这些会截断长文本。 最终(来自 qryCA 或 - 更好 - 它的源表):

DLookup("[Describe]", "qryCA", "[CASSIRecordNum]=" & CASSIRecordNum & "") As FullDescribe,

不过,这会很慢。

【讨论】:

    【解决方案2】:

    我怀疑您的表中存在数据损坏的记录。直接打开表格,对字段 qryCA.Describe 和 qryCA.Why 进行排序。对 A-Z 或 Z-A 进行排序,然后查看错误记录是否显示在顶部。其中有错误的记录也会有这些字符。这些可能应该被删除,如果你必须重新输入数据一个新的记录。这些是压缩/修复无法始终自行修复的错误。

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      相关资源
      最近更新 更多