Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Funktionssammlung: GUID erzeugen

Manche Anwendungen brauchen statt einer herkmmlichen Zahl eine GUID als Primrschlsselwert - beispielsweise, wenn Datenstze verbindungslos erzeugt werden sollen. Leider stellt VBA keine Standardfunktion zum Erzeugen von GUIDs zur Verfgung. Mit zwei API-Funktionen und einer passenden Wrapper-Funktion klappt dies allerdings auch unter Access.

Beschreibung

Die Funktion CreateGUID erwartet keine Parameter und gibt eine GUID zurck.

Funktionscode

Private Declare Function CoCreateGuid Lib "ole32.dll" (tGUIDStructure As _

    GUID) As Long

Private Declare Function StringFromGUID2 Lib "ole32.dll" (rGUID As Any, _

    ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long

Private Type GUID

    Data1 As Long

    Data2 As Integer

    Data3 As Integer

    Data4(0 To 7) As String * 1

End Type

Function CreateGUID() As String

    Const clLen As Long = 50

    Dim sGUID As String

    Dim tGUID As GUID

    Dim bGuid() As Byte

    Dim lRtn As Long

    If CoCreateGuid(tGUID) = 0 Then

        bGuid = String(clLen, 0)

        lRtn = StringFromGUID2(tGUID, VarPtr(bGuid(0)), clLen)

        If lRtn > 0 Then

            sGUID = Mid$(bGuid, 1, lRtn - 1)

        End If

        CreateGUID = sGUID

    End If

End Function

Syntax

Debug.Print CreateGUID

{308D2827-27C9-4993-ABD2-6BECA34FA92D}

© 2003-2015 André Minhorst Alle Rechte vorbehalten.