Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ACCESS 2003 : génération clé aléatoire pour une table

3 réponses
Avatar
helpneeded
Bonjour,

Dans ACCESS 2003, j'aimerais savoir s'il est possible de créer une table
avec une clé aléatoire d'un autre format que le format
{03218FB4-F06E-42A7-B427-1B344579A74F} (obtenu avec "N° de réplication" dans
le champ Taille du champ) ?

Par exemple j'aimerais avoir uniquement les 12 derniers digits ->
1B344579A74F ?

Merci
Lionel

3 réponses

Avatar
Argyronet
Bonsoir,

C'est possible, humm oui et non en fait.
Oui car avec un GUID generator, on peut obtenir ce type de chaîne de
caractères et récupérer les 12 derniers caractères de celle-ci.
Non car un GUID est de par son contenu, unique et le fait d'en prélever
qu'une partie ne garantira pas son unicité dans votre table d'où risque de
doublons.

Si vous voulez, j'ai un générateur de GUID sous forme d'exécutable...
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour,

Dans ACCESS 2003, j'aimerais savoir s'il est possible de créer une table
avec une clé aléatoire d'un autre format que le format
{03218FB4-F06E-42A7-B427-1B344579A74F} (obtenu avec "N° de réplication" dans
le champ Taille du champ) ?

Par exemple j'aimerais avoir uniquement les 12 derniers digits ->
1B344579A74F ?

Merci
Lionel


Avatar
helpneeded
Bonjour et merci pour cette réponse.

Dommage que l'on ne puisse pas choisir la taille d'un GUID...

Autre question : peut-être y aurait-il moyen de générer une clé unique sur
12 caractères à l'aide d'une macro ?

--
***



Bonsoir,

C'est possible, humm oui et non en fait.
Oui car avec un GUID generator, on peut obtenir ce type de chaîne de
caractères et récupérer les 12 derniers caractères de celle-ci.
Non car un GUID est de par son contenu, unique et le fait d'en prélever
qu'une partie ne garantira pas son unicité dans votre table d'où risque de
doublons.

Si vous voulez, j'ai un générateur de GUID sous forme d'exécutable...
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour,

Dans ACCESS 2003, j'aimerais savoir s'il est possible de créer une table
avec une clé aléatoire d'un autre format que le format
{03218FB4-F06E-42A7-B427-1B344579A74F} (obtenu avec "N° de réplication" dans
le champ Taille du champ) ?

Par exemple j'aimerais avoir uniquement les 12 derniers digits ->
1B344579A74F ?

Merci
Lionel




Avatar
pbserv
bonjour,

voici une fonction qui permet de générer + ou - aléatoirement une
chaine hexadécimale :

Public Function DoUniqueId(ByVal NbCaracteres As Byte) As String
Dim i As Integer
Randomize
For i = 0 To NbCaracteres 4
DoUniqueId = DoUniqueId & Format(Hex(Int(Rnd() * 65536)),
"@@@@")
Next i
i = i * 4
DoUniqueId = Left$(DoUniqueId, i - (i - NbCaracteres))
DoUniqueId = Replace(DoUniqueId, " ", "0")
End Function

Une autre qui produit probablement une chaine plus aléatoire mais
nécessite plus de temps :
Public Function DoUniqueId2(ByVal NbCaracteres As Byte) As String
Dim i As Integer
Randomize
For i = 1 To 64
DoUniqueId2 = DoUniqueId2 & Format(Hex(Int(Rnd() * 65536)),
"@@@@")
Next i
Randomize
DoUniqueId2 = Mid$(DoUniqueId2, Int(Rnd() * (256 - NbCaracteres)) +
1, NbCaracteres)
While InStr(DoUniqueId2, " ")
DoUniqueId2 = Replace(DoUniqueId2, " ", Hex(Int(Rnd() * 16)), 1,
1)
Wend
End Function

Philippe

On 4 jan, 14:09, helpneeded
wrote:
Bonjour et merci pour cette réponse.

Dommage que l'on ne puisse pas choisir la taille d'un GUID...

Autre question : peut-être y aurait-il moyen de générer une clé un ique sur
12 caractères à l'aide d'une macro ?

--
***




Bonsoir,

C'est possible, humm oui et non en fait.
Oui car avec un GUID generator, on peut obtenir ce type de chaîne de
caractères et récupérer les 12 derniers caractères de celle-ci.
Non car un GUID est de par son contenu, unique et le fait d'en préleve r
qu'une partie ne garantira pas son unicité dans votre table d'où ris que de
doublons.

Si vous voulez, j'ai un générateur de GUID sous forme d'exécutable ...
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour,

Dans ACCESS 2003, j'aimerais savoir s'il est possible de créer une t able
avec une clé aléatoire d'un autre format que le format
{03218FB4-F06E-42A7-B427-1B344579A74F} (obtenu avec "N° de réplica tion" dans
le champ Taille du champ) ?

Par exemple j'aimerais avoir uniquement les 12 derniers digits ->
1B344579A74F ?

Merci
Lionel- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -