我有一个查询,我在 Access 2010 中通过 VBA 执行。查询的结果应该是 AFR,但它返回 AFR,下面有一个额外的行。我添加了“'”字符以使额外的行可见。

TempHold = rs.GetString
Debug.Print "'" & TempHold & "'"

返回这个:
'AFR
'

但应该返回这个:
'AFR'

我尝试使用以下代码,但没有一个 If 语句评估为 True。代码应该检查“”、vbNewLine 或 vbCrLf 字符,但没有一个评估为真。有谁知道会导致换行的任何其他字符?
If Right(TempHold, 1) = " " Then
    TempHold = Left(TempHold, Len(TempHold) - 1)
ElseIf Right(TempHold, 2) = vbNewLine Or Right(TempHold, 2) = vbCrLf Then
    TempHold = Left(TempHold, Len(TempHold) - 2)
End If

最佳答案

用:

Asc(Right(TempHold, 1))

获取 Ascii 字符代码。

找到字符代码后(如您在评论中所写,为 13),您可以使用代码将其删除:
If Right(TempHold, 1) = Chr(13) Then
    TempHold = Left(TempHold, Len(TempHold) - 1)
End If

在这种情况下,您也可以使用 vbCr ,它与 Chr(13) 相同。

10-08 14:06