{Access} randomize! !

Résolu
moiced59 Messages postés 1161 Statut Membre -  
nirG95 Messages postés 319 Statut Membre -
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
Configuration: Windows XP
Firefox 3.0.13

16 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    re
    0
  2. nirG95 Messages postés 319 Statut Membre 32
     
    Est-il possible d'avoir 2 prenoms identiques ?
    0
  3. moiced59 Messages postés 1161 Statut Membre 60
     
    oui cela est possible mais je pe fire en sorte que non as tu une idee
    0
  4. nirG95 Messages postés 319 Statut Membre 32
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moiced59 Messages postés 1161 Statut Membre 60
     
    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
  7. moiced59 Messages postés 1161 Statut Membre 60
     
    peux tu m expliquer la requete stp

    merci
    0
  8. nirG95 Messages postés 319 Statut Membre 32
     
    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
  9. moiced59 Messages postés 1161 Statut Membre 60
     
    ok merci bcp

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

    merci bcp
    0
  10. nirG95 Messages postés 319 Statut Membre 32
     
    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
  11. nirG95 Messages postés 319 Statut Membre 32
     
    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
  12. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    merci bcp je test ca cette apres midi
    0
  13. moiced59 Messages postés 1161 Statut Membre 60
     
    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
  14. moiced59 Messages postés 1161 Statut Membre 60
     
    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
  15. nirG95 Messages postés 319 Statut Membre 32
     
    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
  16. moiced59 Messages postés 1161 Statut Membre 60
     
    nikel ca marche

    merci
    0
  17. nirG95 Messages postés 319 Statut Membre 32
     
    De rien.

    Cordialement.
    0