sql - Access VBA Query中的recordset.GetString在结果后返回一个额外的字符

标签 sql vba ms-access

我有一个在 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) 相同.

关于sql - Access VBA Query中的recordset.GetString在结果后返回一个额外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37260673/

相关文章:

arrays - VBA 数组导出到工作表

python - 如何将此 AutoCAD VBA 代码转换为 Python?

ms-access - Access 为子报表的记录编号的运行总和问题

c# - 在SQL查询中如何写'?

INSERT 语句中的 java.sql.SQLSyntaxError

sql - 如何获取从第二个日期到最新日期的所有行?

SQL 将范围拆分为单独的行

excel - 动态 Excel VBA 代码更改文本框大小

sql - 在 Sphinx SQL 中设置列​​的权重

ms-access - NZ 无效使用 Null