首页 > 解决方案 > 如何将 GUID 正确保存为字符串?

问题描述

我将 GUID 保存在链接到 MS-Access 数据库的 SQL 服务器表中(Access 中的数据类型:“复制 ID”)。

在表格中,我看到这样的 GUID:{CFFACB63-5EB1-43B2-BCCB-ACF6B226B4F4}

现在我想在代码中使用 GUID,它只显示为“??????????”

Dim strGuid As String
strGuid = CStr(Me.TransGUID)
Debug.Print " strGuid: '" & strGuid & "'"
Debug.Print " Len(strGuid): " & Len(strGuid) & ""

显示:strGuid:'????????',Len(strGuid):8

我以前在代码中使用过 GUID,从来没有遇到过任何问题,我第一次看到这一点。我很困惑这里发生了什么。如何按原样保存 GUID,为什么它不按应有的方式保存它?有任何想法吗?

如果我在表单字段中显示保存的字符串,则 GUID 显示为奇怪的字符,例如中文。

以表格形式显示的 GUID

标签: vbams-accessguid

解决方案


Access 具有将 GUID 转换为字符串的内置函数。

Dim strGuid As String
strGuid = StringFromGUID(Me.TransGUID)
Debug.Print " strGuid: '" & strGuid & "'"

虽然您可以使用本机 WinAPI 函数对其进行转换,但没有必要这样做。


推荐阅读