Bonsoir devito,
Envoyé par
devito
D'où ma question : comment faire pour appliquer ma fonction de génération de nombre aléatoire pour le champs à modifier dans chaque ligne ?
Le code tel que tu l'as écris est correct et génère bien un nombre aléatoire de 8 chiffres. Je n'ai pas tout compris de l'utilisation que tu souhaites en faire, mais même avec un nombre aussi grand, il subsiste une petite chance de générer 2 fois le même nombre pour un élève ! (1 sur 99 millions, c'est moins que de gagner le gros lot du loto tout de même). Est-ce que la propriété Nouvelles valeurs dans numéroauto qui peut être Incrément ou Aléatoire, peut résoudre ton problème ? L'inconvenient c'est que les nombres générés se situent dans une fourchette de valeurs qui va de -2 147 483 648 à 2147 483 647 : le résultat n'est pas très beau dans les fichiers car tu as des n° à 1 chiffre qui cotoient ceux à 9, le signe négatif en plus, si j'ose dire
Mais si vraiment tu veux utiliser ta fonction, sache que 'Nombre_aleatoire' avec les ' ' est une constante donc le code ne sera appelé qu'une fois pour tout ton jeu d'enregistrements :
DoCmd.RunSQL "UPDATE ELEVES SET ELEVES.NoEleve = GenerePass('Nombre_aleatoire');"
Pour forcer Access à te renvoyer un nombre différent, il faut que tu passes un champ de ta table en paramètre comme ceci :
DoCmd.RunSQL "UPDATE ELEVES SET ELEVES.NoEleve = GenerePass([NoEleve]);"
Partager