Supportforum

Hilfe, Feedback, Wünsche, Tipps zu OASIS-SVN

Sehr geehrte Anwender und Kunden in Russland und Belarus
Bitte haben Sie Verständnis dafür, dass wir während des aktuellen Konfliktes und des völkerrechtswidrigen Überfalls auf die Ukraine keine Bestellungen aus der Russischen Förderation oder Belarus entgegennehmen.
Auch werden wir für die betroffenen Länder keinen Support oder techn. Unterstüzung anbieten.
Wir fühlen wir uns verpflichtet, das breite Netz der Sanktionen zu unterstützen und eine klare Haltung einzunehmen.
#StandWithUkraine

GUID's

GillesB erstellte das Thema GUID's

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:
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:
[img]images/content/createclassid.png
#68

Bitte Anmelden um der Konversation beizutreten.

Wir nutzen Cookies und eingebettete Schriftarten auf unserer Website, die für den Betrieb der Seite essentiell sind. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.