Administration


    GUID's  Nach oben

    • GUID's (GlobalUniqueIdentifier) bieten eine einfache Möglichkeit, auch in Mehrbenutzer- oder Mehrschichtumgebungen wirklich eindeutige Primärschlüssel zu garantieren.
      Diese können zu jeder Zeit im Code generiert und dann in das ID-Feld einer Tabelle eingetragen werden, ohne dass es beim Update zu Problemen mit anderen Benutzern kommt.

      Der Code dazu ist wenig spektakulär:

      Zitat
      Private Type TGUID
        D1 As Long
        D2 As Integer
        D3 As Integer
        D4(7) As Byte
      End Type

      Private Declare Function StringFromGUID2 Lib "ole32" (ptrGUID As TGUID, _
        ByVal ptrString As Long, ByVal lngSize As Long) As Long
      Private Declare Function CoCreateGuid Lib "ole32" (ptrGUID As TGUID) As Long

      Public Function CreateClassID() As String
      Dim GUID As TGUID
      Dim lngResult As Long
      Dim strGuid As String
        If CoCreateGuid(GUID) = 0 Then
          strGuid = String(40, vbNullChar)
          lngResult = StringFromGUID2(GUID, StrPtr(strGuid), Len(strGuid) - 1)
          CreateClassID = Left(strGuid, lngResult - 1)
        End If
      End Function


      Als Feldtyp für den PrimaryKey ist dann VARCHAR(40) die richtige Wahl.

      Ab Access 2010 kann man dieses Wissen auch ideal für die neuen DataMacros einsetzen:
      images/content/createclassid.png
    • 3 Gäste

    Diese Angaben basieren auf den Useraktivitäten der letzten 30 Minuten