von saxo » Do, 02.12.2021 12:39
UUID() ist eine eigene Funktion die 36 characters zurückgibt.
Das mit den Anführungszeichen bekomme ich jetzt ohne Fehlermeldung hin, weiß aber nicht, wie man dann das Feld UUID aller Datensätze einer bestehenden Tabelle beschreibt?
"Update" habe ich gefunden, damit geht aber leider nicht das Beschreiben mit unterschiedlichen UUIDs.
Ich nehme die normale Libreoffice Datenbank
Code: Alles auswählen
Sub UUID(lowercase As Boolean, braces As Boolean) As String
'Native VBA function to create a GUID / UUID type 4 that does not rely upon Scriptlet. TypeLib or any external library.
'Save UUID as binary(16 bytes) without "-" or as char(36) with 4 "-"
'To produce numbers between a range: Fix(Rnd * (topnumber - bottomnumber + 1) + bottomnumber)
'GUID(1, 0): 3c763963-7a55-41c5-a04e-401955387e5c, GUID(False, True): {4B98B15B-8B21-49A4-ACEB-58879135D227}
Dim k&, h$, s$
s = Space(36)
For k = 1 To 36
Randomize()
Select Case k
Case 9, 14, 19, 24: h = "-"
Case 15: h = "4"
Case 20: h = Hex(Fix(Rnd * 4 + 8)) 'must be 8,9,A or B
Case Else: h = Hex(Fix(Rnd * 16)) 'Int() or Fix() rounds down! Fix() and Rnd() return type double
End Select
Mid(s, k, 1, h)
Next
If lowercase Then s = LCase$(s)
If braces Then UUID = "{" & s & "}" Else UUID = s
End Sub
UUID() ist eine eigene Funktion die 36 characters zurückgibt.
Das mit den Anführungszeichen bekomme ich jetzt ohne Fehlermeldung hin, weiß aber nicht, wie man dann das Feld UUID aller Datensätze einer bestehenden Tabelle beschreibt?
"Update" habe ich gefunden, damit geht aber leider nicht das Beschreiben mit unterschiedlichen UUIDs.
Ich nehme die normale Libreoffice Datenbank
[code]Sub UUID(lowercase As Boolean, braces As Boolean) As String
'Native VBA function to create a GUID / UUID type 4 that does not rely upon Scriptlet. TypeLib or any external library.
'Save UUID as binary(16 bytes) without "-" or as char(36) with 4 "-"
'To produce numbers between a range: Fix(Rnd * (topnumber - bottomnumber + 1) + bottomnumber)
'GUID(1, 0): 3c763963-7a55-41c5-a04e-401955387e5c, GUID(False, True): {4B98B15B-8B21-49A4-ACEB-58879135D227}
Dim k&, h$, s$
s = Space(36)
For k = 1 To 36
Randomize()
Select Case k
Case 9, 14, 19, 24: h = "-"
Case 15: h = "4"
Case 20: h = Hex(Fix(Rnd * 4 + 8)) 'must be 8,9,A or B
Case Else: h = Hex(Fix(Rnd * 16)) 'Int() or Fix() rounds down! Fix() and Rnd() return type double
End Select
Mid(s, k, 1, h)
Next
If lowercase Then s = LCase$(s)
If braces Then UUID = "{" & s & "}" Else UUID = s
End Sub[/code]