Как правильно сохранить GUID в виде строки? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть GUID, сохраненные в таблице сервера SQL, которая связана с базой данных MS-Access (тип данных в Access: «Идентификатор репликации»).

В формах я вижу 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 shown in a form

Ответы [ 2 ]

3 голосов
/ 21 мая 2019

Access имеет встроенную функцию для преобразования GUID в строки.

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

Хотя вы можете использовать встроенные функции WinAPI для его преобразования, в этом нет необходимости.

1 голос
/ 21 мая 2019

GUID - это тип данных из 16 двоичных байтов, и вы должны преобразовать его в читаемую человеком строку для отображения.Для этого вы можете использовать функции API, см., Например, здесь .

...