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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Argyronet
Le #6340451
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


helpneeded
Le #6340181
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




pbserv
Le #6339981
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 -




Publicité
Poster une réponse
Anonyme