Access fonction aléatoire
Fermé
Sil
-
30 oct. 2010 à 22:23
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 - 7 nov. 2010 à 20:02
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 - 7 nov. 2010 à 20:02
A voir également:
- Access fonction aléatoire
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Cette fonction n'est pas disponible actuellement tv lg - Forum Téléviseurs
- Access appdata - Guide
- Fonction somme excel - Guide
30 réponses
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
Modifié par blux le 31/10/2010 à 11:23
Modifié par blux le 31/10/2010 à 11:23
Salut,
tu veux les afficher où ?
Si elles sont dans une table, la fonction rnd peut te permettre d'extraire la ligne correspondante...
A+ Blux
tu veux les afficher où ?
Si elles sont dans une table, la fonction rnd peut te permettre d'extraire la ligne correspondante...
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 oct. 2010 à 17:16
31 oct. 2010 à 17:16
Bonjour
J'ai deja u ce probleme je l'ai reglé comme ceci.
Tout mes mot etait dans une table exemple mot qui a un champ Mot et un champ id qui est numero auto
J'ai creer une requete qui s'appel alea:
Select top1 mot from mot order by Rnd(Now()*id);
Dans mon code vba
dim rs as recordset
dim db as database
set db = curentdb
set rs = db.openrecordset("alea")
whith rs
aleatoire = !mot
msgbox(mot)
end with
rs.close
db.close
A toi de voir pour adapter ce code a ton souci
J'ai deja u ce probleme je l'ai reglé comme ceci.
Tout mes mot etait dans une table exemple mot qui a un champ Mot et un champ id qui est numero auto
J'ai creer une requete qui s'appel alea:
Select top1 mot from mot order by Rnd(Now()*id);
Dans mon code vba
dim rs as recordset
dim db as database
set db = curentdb
set rs = db.openrecordset("alea")
whith rs
aleatoire = !mot
msgbox(mot)
end with
rs.close
db.close
A toi de voir pour adapter ce code a ton souci
bonjour!!
merci pour ta réponse!
pour répondre à ta question j'aimerais bien qu'une fenêtre s'ouvre et affiche un mot aléatoirement et peut-être mettre un bouton "suivant" pour afficher un nouveau mot... je sais pas si tu vois ce que je veux dire???
merci pour ton aide!!
Sil
merci pour ta réponse!
pour répondre à ta question j'aimerais bien qu'une fenêtre s'ouvre et affiche un mot aléatoirement et peut-être mettre un bouton "suivant" pour afficher un nouveau mot... je sais pas si tu vois ce que je veux dire???
merci pour ton aide!!
Sil
bonjour,
merci pour ta réponse!!!
c'est juste pour avoir quelque précision concernant ton message moiced59, "top1" correspond à quoi? et quand je veux exécuter la requête il m'indique une erreur... mais j'ai aussi un problème quand j'ai voulu exécuter le code VBA, on m'a demandé le nom de la macro (que j'ai appelé alea) et ensuite ce morceau de code est apparu: Sub alea() End Sub.
Je suis un peu (beaucoup même!!) perdu
merci pour votre aide
sil
merci pour ta réponse!!!
c'est juste pour avoir quelque précision concernant ton message moiced59, "top1" correspond à quoi? et quand je veux exécuter la requête il m'indique une erreur... mais j'ai aussi un problème quand j'ai voulu exécuter le code VBA, on m'a demandé le nom de la macro (que j'ai appelé alea) et ensuite ce morceau de code est apparu: Sub alea() End Sub.
Je suis un peu (beaucoup même!!) perdu
merci pour votre aide
sil
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
31 oct. 2010 à 18:40
31 oct. 2010 à 18:40
Bonjour
Top 1 signifie je recupere le 1 ere enregistrement
Donne moi les nom exact de ton travail et je te fais ta requete
Qd tu execute la requete tu obtiens bien 1 seul resultat?
Top 1 signifie je recupere le 1 ere enregistrement
Donne moi les nom exact de ton travail et je te fais ta requete
Qd tu execute la requete tu obtiens bien 1 seul resultat?
Re!
alors ma table s'appelle "mots", et j'ai deux champs: "num" et "nom"
Par contre quand j'exécute la requête j'ai une erreur par rapport à la dernière ligne: il me dit qu'il y a une erreur de compilation.
merci pour ton aide
sil
alors ma table s'appelle "mots", et j'ai deux champs: "num" et "nom"
Par contre quand j'exécute la requête j'ai une erreur par rapport à la dernière ligne: il me dit qu'il y a une erreur de compilation.
merci pour ton aide
sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 oct. 2010 à 18:56
31 oct. 2010 à 18:56
Essai cette requete
SELECT top 1 Nom
FROM Mots
ORDER BY Rnd(Now()*num);
SELECT top 1 Nom
FROM Mots
ORDER BY Rnd(Now()*num);
J'ai toujours cette erreur de compilation:
"Erreur de compilation. dans l'expression Rnd(now()*num);"
"Erreur de compilation. dans l'expression Rnd(now()*num);"
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 oct. 2010 à 19:10
31 oct. 2010 à 19:10
Tu fais comment tu fais la requete et tu fais executer ou tu passe par du VBA?
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
Modifié par blux le 31/10/2010 à 19:35
Modifié par blux le 31/10/2010 à 19:35
now() renvoie une date et heure, donc la multiplier par une valeur, je ne sais pas si cela a un sens...
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
Modifié par moiced59 le 31/10/2010 à 19:36
Modifié par moiced59 le 31/10/2010 à 19:36
tu n'a pas bien lu
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 oct. 2010 à 19:40
31 oct. 2010 à 19:40
Bien sur que si c la facon d obtenir un nbre variable qui sert a trier aleatoirement
bonjour!!
Voici la requête que j'utilise...
SELECT TOP 1 nom
FROM mots
ORDER BY Rnd(Now()*num);
et ensuite je fais exécuter ...
merci pour votre aide^^
Sil
Voici la requête que j'utilise...
SELECT TOP 1 nom
FROM mots
ORDER BY Rnd(Now()*num);
et ensuite je fais exécuter ...
merci pour votre aide^^
Sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
1 nov. 2010 à 14:30
1 nov. 2010 à 14:30
Elle fonctionne tres bien chez moi
Supprime le top 1 voir
Supprime le top 1 voir
même en supprimant le top 1 ça ne fonctionne toujours pas....
est ce que ça change quelque chose si c'est access 2007? ça a une incidence? peut-être que le problème vient de là?
encore merci de ton aide^^
sil
est ce que ça change quelque chose si c'est access 2007? ça a une incidence? peut-être que le problème vient de là?
encore merci de ton aide^^
sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
1 nov. 2010 à 18:27
1 nov. 2010 à 18:27
J suis sous 2007
J'ai creer la base sous 2003 et cela fonctionnait deja
tu peux m'envoyé ta base?
via cijoint.fr
Merci
J'ai creer la base sous 2003 et cela fonctionnait deja
tu peux m'envoyé ta base?
via cijoint.fr
Merci
ma base était enregistrée en 2007... et je voulais te l'envoyer dans une version 2002-2003, et avant de te la renvoyer j'ai tester avec cette version et ça fonctionne... donc en fait c'est un problème de version... parce que là avec la version 2002-2003 j'ai bien un mot qui s'affiche !!!
tu veux toujours que je t'envoies ma base? et si oui quelle version?
merci de ton aide
Sil
tu veux toujours que je t'envoies ma base? et si oui quelle version?
merci de ton aide
Sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
1 nov. 2010 à 19:00
1 nov. 2010 à 19:00
Je viens de recreer une base en 2007
avec une table mots et g tester la requete cela fonctionne donc je veux bien ta base 2007 pour voir le probleme
avec une table mots et g tester la requete cela fonctionne donc je veux bien ta base 2007 pour voir le probleme
Je pense que mon erreur venait de ma mauvaise utilisation du code vba (celui que tu m'avais passé dans un de tes premiers posts) et en supprimant ce que j'avais fait en vba ben la requête fonctionne... est ce que c'est normal qu'elle m'affiche toujours le même mot à chaque fois que je la lance? et comment faire pour intégrer du code VBA... puisque apparemment j'ai des difficultés à le faire...
merci ^^
Sil
merci ^^
Sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
1 nov. 2010 à 20:03
1 nov. 2010 à 20:03
Non c pas normal le mot doit changer environ toute les 2 secondes
Execute le plein de fois de suite voir
voici un code qui fonctionne j'ai creer un bouton et cliquer plusieurs fois g un mot different a chaque fois
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Dim mess As String
Set rs = db.OpenRecordset("aleatoir")
With rs
mess = !nom
MsgBox (mess)
End With
rs.Close
db.Close
Execute le plein de fois de suite voir
voici un code qui fonctionne j'ai creer un bouton et cliquer plusieurs fois g un mot different a chaque fois
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Dim mess As String
Set rs = db.OpenRecordset("aleatoir")
With rs
mess = !nom
MsgBox (mess)
End With
rs.Close
db.Close
bonjour,
désolé j'ai du m'absenter un moment...
bon de mon côté j'ai un peu avancé... je ne sais pas si mon projet était bien expliqué... je sais pas si j'avais bien expliqué je voulais que la fenêtre s'affiche dans access... mais comme je n'ai pas trouvé comment faire (si ça se trouve on ne peut pas le faire!!) donc j'ai téléchargé une version express de VB... j'ai réussi ma connexion entre ma base access (2007) et vb mais la connexion ne fait plus comme avant... alors maintenant je suis un peu perdu... je ne sais pas comment écrire que je voudrais à l'enregistrement suivant... parce que le code juste au dessus ne fonctionne pas... beaucoup de chose ont changé depuis VB6... :s j'aurais pas du laisser tomber... mais j'y reviens lentement mais surement^^
encore merci pour votre aide
Sil
désolé j'ai du m'absenter un moment...
bon de mon côté j'ai un peu avancé... je ne sais pas si mon projet était bien expliqué... je sais pas si j'avais bien expliqué je voulais que la fenêtre s'affiche dans access... mais comme je n'ai pas trouvé comment faire (si ça se trouve on ne peut pas le faire!!) donc j'ai téléchargé une version express de VB... j'ai réussi ma connexion entre ma base access (2007) et vb mais la connexion ne fait plus comme avant... alors maintenant je suis un peu perdu... je ne sais pas comment écrire que je voudrais à l'enregistrement suivant... parce que le code juste au dessus ne fonctionne pas... beaucoup de chose ont changé depuis VB6... :s j'aurais pas du laisser tomber... mais j'y reviens lentement mais surement^^
encore merci pour votre aide
Sil
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
6 nov. 2010 à 10:32
6 nov. 2010 à 10:32
Bonjour
Le code VBA que je t mis fonctionne tres bien
Le code VBA que je t mis fonctionne tres bien