我将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会显示为类似于中文的奇怪字符。
答案 0 :(得分:3)
Access具有将GUID转换为字符串的内置功能。</ p>
Dim strGuid As String
strGuid = StringFromGUID(Me.TransGUID)
Debug.Print " strGuid: '" & strGuid & "'"
虽然可以使用本机WinAPI函数对其进行转换,但不需要这样做。
答案 1 :(得分:1)
GUID是16个二进制字节的数据类型,您必须将其转换为人类可读的字符串才能显示。您可以为此使用API函数,例如,参见here。