|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
Bonjour,
j'ai fait un code qui calcule le nombre d'enregistrement dans la table qui s'affiche dans un texte box que j'ai appeler txtAgagne. Maintenent j'aimerais sortire l'un des ces enregistrement au hasard qui serais le gagnant. J'ai essayé la démarche dans le forum mais j'aurais un peu plus besoin d'aide dans le sens me dire comment faire ou je l'insert le code. sa serais apprécié. Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Sans certitude, voici un début de piste : Pour choisir au hasard, utiliser la fonction rnd ou randomize. A vérifier. Il faudra tirer un nombre compris entre 1 et le nombre total d'enregistrement. Par contre vous avez tout intérêt à faire en sorte que chaque enregistrement est un "numéro" et que ces numéros soient une suite continue, sans trou. Autrement dit, il faut sans doute passer par une table temporaire comportant tous les enregistrements participants, avec ce champ "numéro". Pierre |
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
est-ce que quel qu'un a déja fais se genre de tirage la ? si oui et bien peux-etre juste partagé le code par la suite je pourrai l'adapté pour moi. Merci à l'avance bon voici se que je cherchais... Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
Maintenant voici se que je veux faire, je veux que quand je part le tirage qui me donne un nombre de 1 au max d'enregistrement de la table.
avec cette formule Code :
Quelqu'un peut m'aider ? |
||
|
|
00
|
|
|
#5 | ||||
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Pour résoudre votre problème il faut introduire dans votre fonction un paramètre, le nombre d'enregistrements, c'est à dire le nombre par lequel il faut multiplier le numéro "rnd" Code :
Pour appeler votre fonction : Code :
Pierre |
||||
|
|
10
|
|
|
#6 | ||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
ok merci pierre, sa fonctionne, mais j'ai un autre probleme ; l'enregistrement de ma table commence par le nombre 0 et je voudrais qu'il commence par 1.
j'ai tenté de faire ceci : Code :
pouvez-vous m'aider ? |
||
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Essayez un peut-être Pierre |
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
mmm non sa fonctionne pas cette commande. mon plus gros probleme de ce temps la c'est que le premier enregistrement commance par 0 alors que je veux que l'enregistrement commence par 1.
alors j'ai sa comme code pour Code :
|
||
|
|
00
|
|
|
#9 | ||
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 205 ![]() |
Bonjour,
Si vous n'avez pas eu de réponse c'est que votre problème reste flou Que souhaitez-vous faire précisément ? A quoi correspond la source "Client Requête" ? Quelle est la source du formulaire ? Ne faut-il pas mettre à jour l'enregistrement avec de nouvelles données et le sauvegarder dans la table source avant qu'il ne soit pris en compte et donc avant de mettre à jour le champ txtAgagne avec le dcount ? Dans ce cas l'actualisation de la zone de texte ne devrait-elle pas se faire sur l'évènement "après insertion" ? Code :
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
||
|
00
|
|
|
#10 |
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
Bonjour merci de me répondre, et bien je vais essayé d'éclaissir la situation.
Client requete me sert pour quand j'interroge la table qu'il me donne le nombre d'enregistrement. Alors voici, j'ai fait une base de donnée qui va servire a entrer des participant a un tirage. C'est participant la va entrer leur nom ; prénom ; et vont choisir l'exposant qu'ils ont préférer. a la toute fin je veux etre capable de faire tirage alléatoir de ces participant-là. allors chaqu'un des participant est numéroté par un numéro d'enregistrement dans la table et au fure et a mesure qu'ils s'inscrivent dans la base de données il a un nurméro qui est attribué au participant en fait c'est le numéro d'enregistrement. Je veux que quand je click sur le bouton tirage et bien qu'il me sorte le numéro du gagnant c'est-à-dire le numéro d'enregistrement avec les coordonnés du gagnant. Là pour l'instant je suis capable d'inscrire le client et de faire sortir le numéro de l'enregistrement. mais mon probleme est que l'enregistrement commence a 0 et je veux qui commence par 1. en passant sa va etre une base de donnée multiutilisateur.. est-ce que c'est assez claire ?? Merci |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
Il doit y avoir une formule du genre avec le if pour dire que si l'enregistrement est plus petite que 1 bien de commencer à 1 sinon bien reste comme ca ....
etes-vous capable de M'aider merci |
|
|
00
|
|
|
#12 | ||
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 205 ![]() |
Salut,
Tu crées un bouton cmdtirage et tu mets le code suivant sur clic : Code :
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
||
|
00
|
|
|
#13 | ||||||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
voici les deux formulaire que j'ai fait. le formulaire client est celui que le client entre ses coordonnés et le formulaire tirage est celui qu'a la toute fin de l'activité et bien ont fait un tirage en cliquant sur le bouton go et bien y a un numéro aléatoire qui s'affice dans le text box en haut du bouton. alors j'ai fait un modul en vba pour le tirage que voici :
Code :
Code :
Voici se qui suit dans le formulaire tirage : Code :
Voici se que je veux, l'orsque j'appuis sur go bien que l'information nom, #tél, et tout le reste de l'information du gagnant correspondant au nombre sortie dans txtresultat et qu'il s'enregistre dans une table gagnant. Maintenant est-ce que je suis assez claire j'espere que quelqu'un va me comprendre merci d'avance |
||||||
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Je pense, sincèrement, qu'on a compris votre souci. Mais ce n'est pas toujours clair en effet (et les fautes d'orthographe n'aide pas à la compréhension. Parfois, je pense sincèrement, que vous oubliez de regarder ce que les autres vous proposent. J'ai comme l'impression qu'il nous manque des étapes, que vous nous dîtes pas. Récapitulatif. Saisie des candidats (avec un formulaire) Tirage parmi tous les candidats Affichage du gagnant Enregistrement de ce gagnant dans une table. Vous n'évoquez jamais de procèdure de click sur un bouton. Avez-vous mis en place le code de USER? Car il vous permet de faire le tirage et d'afficher le gagnant. Pour l'enregistrement dans une table, voir soit une requête ajout, soit utiliser DAO et les recordset. Voir ce qui vous est le plus parlant. Pierre PS : une des règles du forum est de mettre les code entre balises (le bouton dièse # en haut de la fenêtre d'écriture, sur la même ligne que les bouton Gras, Italique, Retrait.... |
|
|
00
|
|
|
#15 | ||
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
Exactement ca Pier.Antoine,
Saisie des candidats (avec un formulaire) Tirage parmi tous les candidats Affichage du gagnant Enregistrement de ce gagnant dans une table j'ai essayé ceci comme on ma proposé plus haut, mais sa fonctionne pas, sa fait un erreur de compilation sur private sub cmdgo_Click(), et txtAgagne est en bleu. code: Code :
Alors que 4 c'est le nombre d'enregistrement dans ma table et 3 est le numéro gagnant qui correspond au 3e enregistrement... help me please |
||
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Il y a un souci. dans ce cas "txtAgagne" est une variable. Je pense qu'elle n'est pas définie... il y a erreur de compilation. Essayez plutôt Pierre |
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
bonjour Pier, merci pour ta réponse.
bien j'ai essayé le code que tu ma proposé me.txtAgagne mais sa fait encore un erreur de compilation txtAgagne est un text box qui affiche le nombre d'enregistrement de la table client. j'ai mis un jpg pour démontrer le bog de compil. |
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Bonjour
Quelle est le message d'erreur de compilation? Une piste : peut-être que la fonction "Tirage" demande comme argument un entier, alors que le contrôle "txtAgagne" est d'un format chaine (string). Bonne journée Pierre |
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Martin Dallaire Inscription : décembre 2010 Messages : 39 ![]() |
regarde la piece jointe du message passé j'ai pas de message d'erreur en tant que tel mais la fenetre débugueur s'ouvre et affiche la premier ligne en jaune private sub...
|
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
Euh...
Que les choses soient bien claires! Nous sommes là pour vous aider, et les différents contributeurs de ce forum (donc moi-même) nous y prenons plaisir. Ceci dit, pour qu'une situation problématique puisse être résolu il faut en connaître les éléments pertinents. Je comprends que quelqu'un qui ne maîtrise pas encore très bien access (ou le VBA, ou les bases de données...) ne sache pas d'emblée quels sont justement ces éléments pertinents. D'où les différentes interactions. Vous m'indiquez votre pièce jointe. Or, en tant que tel, cette procèdure ne montre pas d'erreur manifeste. D'ailleurs, vous le signalez, il n'y a pas de messages d'erreur. Pourtant, l'exécution du code s'arrête sur la ligne "PrivateSub". En regardant bien, à la gauche de cette ligne, il y a un gros point rouge bordeaux. Cela signifie qu'il y a un point d'arrêt sur cette ligne, que l'on force donc à arrêter le code, pour ensuite faire du ligne à ligne, ou vérifier le contenu d'une variable. Que se passe-t-il si vous lancer votre procédure sans les points d'arrêt (pour enlever ou mettre un point d'arrêt, appuyer sur F9 quand le curseur est sur la ligne)? Bonne journée, et ne perdez pas courage. Je pense sincèrement que vous y êtes Pierre |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com