{Access} randomize! !

Résolu/Fermé
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 - 29 août 2009 à 13:14
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 - 8 sept. 2009 à 08:55
Bonjour,

voila je vous explique ce que je souheterais faire

j ai une table avec un champ "prenom"

j'ai fais un formulaire avec autant de champ que de "prenom" j aimerais pouvoir aleatoirement mettre un prenom dans chaque champ mais je ne vois pas par ou commencer je suppose qu 'il faut uitliser la fonction randomize mais j en suis pas du tt sur

merci a vous

16 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
31 août 2009 à 19:36
re
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
3 sept. 2009 à 18:35
Est-il possible d'avoir 2 prenoms identiques ?
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
3 sept. 2009 à 18:40
oui cela est possible mais je pe fire en sorte que non as tu une idee
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
3 sept. 2009 à 19:27
En supposant que dans ta table (Table1) tu as 2 champs (id et prenom)

la requete suivante va te donner le prenom d'une personne aléatoirement.

SELECT TOP 1 prenom FROM Table1 order by Rnd((-1000*id)*Time());

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
3 sept. 2009 à 19:36
salut je vien d essayé mais j obtien tjs le meme prenom et mon but est de remplir 7 champs avec mes 7 prenom different et aleatoirement
merci a toi
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
3 sept. 2009 à 19:39
peux tu m expliquer la requete stp

merci
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
3 sept. 2009 à 19:55
Oups désolé ...

fait cette requête :

SELECT TOP 1 prenom FROM Table1 ORDER BY Rnd((-1000*id)*rnd());


TOP 1 : Prend le premier résultat de la requête
ORDER BY : Range les requêtes
Rnd(-1000*id) : nombre aléatoire, -1000 je ne sais pas, et id le numéro de ton incrémentation (J'ai repris un code que j'ai modifier)
et le dernier rnd, il prend un nombre aléatoire, toute a l'heure je t'ai donné le temps, mais des que tu génères la requête pour tous c'était le même temps, pour cela que j'ai changé par rnd()

Cordialement.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
3 sept. 2009 à 20:04
ok merci bcp

Serais tu m aider pour generer un code qui met un prenom sur le champ1 puis un <> champ2.....


merci bcp
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
3 sept. 2009 à 20:40
Bon j'ai une solution, mais a t'expliquer ça va être dur :/

en passe moi ton mail, je t'envoi la base, et tu regarde se que j'ai fais :)

Cordialement
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
3 sept. 2009 à 21:15
Bon ... Je vais te faire un tuto ^^

Tu vas dans requête et tu fais cette requête :

SELECT prenom
FROM Table1
ORDER BY Rnd((1*id)*rnd());


Sur un formulaire, tu mets 7 Zones de texte (ex de nom : C1,C2,C3,C4,C5,C6,C7)
Ensuite tu mets 1 Zone de liste (ex de nom : rslt) que tu mettras en cacher (Visible non).
Dans le contenu, tu vas chercher ta requête.

A l'ouverture de ton formulaire tu mets le code suivant, qui va remplir tes champs.

C1 = rslt.Column(0, 0)
C2 = rslt.Column(0, 1)
C3 = rslt.Column(0, 2)
C4 = rslt.Column(0, 3)
C5 = rslt.Column(0, 4)
C6 = rslt.Column(0, 5)
C7 = rslt.Column(0, 6)


Tu peux faire un bouton qui peut refaire la requêtre, en mettant sur l'évenement clique :

rslt.Requery
C1 = rslt.Column(0, 0)
C2 = rslt.Column(0, 1)
C3 = rslt.Column(0, 2)
C4 = rslt.Column(0, 3)
C5 = rslt.Column(0, 4)
C6 = rslt.Column(0, 5)
C7 = rslt.Column(0, 6)


J'espère que tu as bien compris :)

Cordialement.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2009 à 06:04
bonjour

merci bcp je test ca cette apres midi
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2009 à 17:12
bonjour

voila je vien d essayé mais aucun resultat l requete fonctionne la zone e liste aussi mais rien ne s inscrit s mes champs
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2009 à 18:24
c bon g reussi !!!!!!

maintenant j essai un truc c de dire que sur mise a jour si le prenom na pas changé lors je recommence

g essyé ca
If Me.prenom1 = me.prenom1 Then
.......
End If

mais sans reussite

g essayé avec un msgbox mis il se met a chaque fois!!!!

merci
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
7 sept. 2009 à 09:38
Salut, voilà ce que tu peux faire :)

rslt.Requery
test = 0
Do While test = 0
    If C1 <> rslt.Column(0, 0) And C2 <> rslt.Column(0, 1) And C3 <> rslt.Column(0, 2) And C4 <> rslt.Column(0, 3) And C5 <> rslt.Column(0, 4) And C6 <> rslt.Column(0, 5) And C7 <> rslt.Column(0, 6) Then
        C1 = rslt.Column(0, 0)
        C2 = rslt.Column(0, 1)
        C3 = rslt.Column(0, 2)
        C4 = rslt.Column(0, 3)
        C5 = rslt.Column(0, 4)
        C6 = rslt.Column(0, 5)
        C7 = rslt.Column(0, 6)
        test = 1
    Else
        rslt.Requery
    End If
Loop


Cordialement.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
7 sept. 2009 à 18:38
nikel ca marche

merci
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
8 sept. 2009 à 08:55
De rien.

Cordialement.
0