vba - 如何将 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 显示为奇怪的字符,例如中文。
解决方案
Access 具有将 GUID 转换为字符串的内置函数。
Dim strGuid As String
strGuid = StringFromGUID(Me.TransGUID)
Debug.Print " strGuid: '" & strGuid & "'"
虽然您可以使用本机 WinAPI 函数对其进行转换,但没有必要这样做。
推荐阅读
- r - 邻接矩阵 - r 无法识别我的矩阵
- python - 矩阵乘法与第三维中的每个元素
- sql - SQL中指定值从第三张表中提取缺失产品的id
- r - 将 Block of Rows 的 Min 值附加为新列
- r - 在 R 中修改带有子标题的 data.frame
- kubernetes-helm - 如何通过 Helm 模板传递数组?
- python - Scipy 最小化整个数据集和除零以外的所有值的约束
- git - Intellij 无法打开包含 4gb .git 的项目
- javascript - Angular 10 路由在部署到 Http 服务器时不起作用?
- .net - F# - 将 Concurrent.ConcurrentDictionary.TryRemove 与 dotnet 5 一起使用