Pour faire un tirage

Résolu/Fermé
JacquesLarochelle - 16 déc. 2008 à 21:15
 jacqueslarochelle - 11 janv. 2009 à 15:58
Bonjour,

Je veux faire des bases de données Access 2007 qui me serviront à procéder à un tirage.

1. Dans un premier temps, j'entre le nom, le prénom et un numéro.

2. Ce numéro fait en sorte que le prénom et le nom s'écrivent dans les champs Prénom et Nom dans un nombre égal au nombre écrit dans le champ numéro dans une autre base de données qui servira au tirage.

3. Après la saisie de tous les noms et prénoms, je voudrais procéder au tirage en tant que tel.

4. Un nombre aléatoire serait tiré en fonction du nombre d'enregistrement total.

Je suis un novice dans le domaine alors s'il vous plaît, soyez simple et ne vous gênez pas dans les détails.

Merci infiniment de votre aide.

Jacques Larochelle

5 réponses

mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
21 déc. 2008 à 01:55
Salut,

Tu veux faire quoi exactement ?
Dans un premier temps, si je comprends bien !, tu remplis une table1 avec n personnes (N°, NOM, PRENOM) Ok!
jusqu'ici pas de problème.
Après tu veux faire un tirage au sort et remplir une autre table vide ?
Du style N°3 DUPONT table1 à eu le numéro 12 et doit donc être N°12 DUPONT dans table2 ?
Après tu fais quoi avec table2 car si c'est pour l'effacer à chaque tirage, ce n'est pas la fonction d'une base de données
garde plutôt ta table1 et fais un tirage au sort dans un tableau temporaire.

A plus
0
JacquesLarochelle
22 déc. 2008 à 15:22
Je travaille pour un obnl (asbl) qui vend des articles usagés (réutilisation). Les employés ont le droit d'acheter. Ces achats sont comptabilisés et à la fin de chaque mois 10% du montant total de leur achats est tiré au hasard. 1$ = 5 chances de gagner.

Alors,

1. J'entre les noms dans la première base de données
2. Je rentre le montant de l'achat dans la première base de données
3. Le nom s'inscrit autant de fois que le nombre de chances de gagner. Ex. j'ai acheté pour 43$ alors j'ai 215 chances de gagné... donc mon nom est écrit automatiquement 215 fois dans la deuxième base de donnée. Ainsi de suite pour tous les acheteurs et acheteuses.
4. Un nombre est tité au hasard entre le premier enregistrement et le dernier. Et le gagnant est...

Suis-je puis clair? Merci infiniement de votre aide

Jacques Larochelle
0
mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
23 déc. 2008 à 13:36
J'ai compris mais je maintiens qu'il serait plus judicieux de ne travailler qu'avec une seule table.
Par contre légèrement différente. Je m'explique :
Pour moi, mon idée vaut ce qu'elle vaut, on pourrait partir sur une table ACHATS du style :
ACHATS(A_numero, A_nom, A_prenom, A_montant, A_ticketdeb, A_ticketfin)
(je n'ai pas mis les types ils sont évidents)

Tu dois te demander ce que sont mes deux champs A_ticketdeb & A_ticketfin, en fait là est toute l'idée, notre algo pourrait se dérouler comme suit :

1.Initialisation du tirage
on crée une table ACHATS vide
premier ticket index = 1

2.Achat effectuée par une personne
Ajout dans la base nom,prenom, montant ,ticketdeb et ticketfin calculés comme suit
ticketdeb = index ; ticketfin = 5*montant + index - 1
on change notre valeur d'index pour l'acheteur suivant --> index = 5*montant + index
retour début 2

3.fin du mois tirage du numéro
on fait un select sur la base du style
SELECT A_nom FROM ACHATS WHERE
A_ticketdeb <= numero AND A_ticketfin >=numero ;
Et voilà on sort le gagnant

Notre table ressemblerait à quelquechose du style :

1----DUPONT---- Henri-----10.00----1----50
2----MARTIN----Viviane----50.00----51----300
3----TARTANPION----Roger----23.00----301----415
etc ....
On peut même avoir une personne avec plusieurs achats à des dates différentes et des numéros relativement éloignés

127---DUPONT----Henri-----27.00----12456----12590

Dis-moi ce que tu en penses mais cela éviterait une deuxième table super lourde et puis quoi de plus simple que de n'en gérer qu'une.

A plus
0
JacquesLarochelle
5 janv. 2009 à 20:28
Bonjour,
Je suis désolé du délai mais le temps des Fêtes....

Je tiens à renoveler mon premier commentaire... je suis novice, en fait un sous-novice en Access serait plus approprié!

J'aimerais, et je sais que cela pourra vous jouer sur les nerfs, mais je ne comprends pas ce que INDEX vient faire dans l'histoire. Comment changer la valeur de l'index? Comment faire faire le calcul? Est-ce par "Valeur par défaut" ? Si non comment?

Merci de votre compréhension,

Jacques Larochelle
0
mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
5 janv. 2009 à 21:31
Coucou et bonne année

En fait ma variable "index" correspond au numéro du dernier ticket de tombola affecté
Exemple :

On commence le mois de janvier, aucun achat, table vide, nous avons à dispo tous nos tickets avec évidemment le premier, le numéro 1 (index = 1)

Arrive Mr DUPONT Henri qui achète pour 10 € qui se voit affecté 5 x 10 = 50 numéros de 1 à 50
On enregistre sa transaction + ses numéros de tickets
1----DUPONT---- Henri-----10.00----1----50 (le nouvel index devient le premier ticket libre le 51, index = 51)

Arrive Mme MARTIN Viviane qui achète pour 50 € --> Affectation des numéros 51 à 300
2----MARTIN----Viviane----50.00----51----300 (index = 301)

..........etc

Jour 10 du mois, notre table se remplit tranquillement
dernier enregistrement de la veille
25-----TANGUY----Michael----10.00----1201----1250

On vient de rallumer l'ordi donc nous ne connaissons pas le premier ticket dispo
on regarde donc dans la table le plus grand numéro A_ticketfin, ici 1250, donc le prochain ticket dispo est 1251
index = 1251 et on peut reprendre les enregistrements

Ainsi de suite, fin du mois nos tickets vont de 1 à n, tirage au sort du ticket gagnant T, on scanne la table pour voir l'heureux gagnant où T>ticketdeb et T<ticketfin qui est forcément unique.

On efface la table et on repart pour un tour

J'espère être assez clair, à bientôt
0

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

Posez votre question
mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
10 janv. 2009 à 17:22
Bonjour
Pas de nouvelles ?
J'ai du t'embrouiller avec mon charabia, alors j'ai eu une petite idée, dans un premier temps pourquoi vouloir acheter et piloter une formule 1 alors que l'on possède un vélo dans le garage (c'est beau !!)
J'espère que tu as excel et va voir mon petit fichier sans aucun code (deux trois petites formules)

http://www.cijoint.fr/cjlink.php?file=cj200901/cijYKHrUeO.xls

Tiens moi au courant, a bientôt.
0
jacqueslarochelle
11 janv. 2009 à 15:58
Bonjour,
Je suis allé cherche le fichier Excel, il est parfait. Merci.

Amicalement,

Jacques Larochelle
0