bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai
donc un tableau :
public plats(1 to 20) as string
et une table "plats" avec 2 champs: [N°] et [plat]
cette table je l'alimente par un formulaire de saisie.
Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à
20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement
doit afficher le plat du tableau correspondant au N°
OU, autre solution, est-il possible de n'avoir que la table plats , et dans
le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui
dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ?
merci,
roger
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonjour,
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click() Dim cpt As Long, nb As Long cpt = DCount("*", "plats") Randomize Timer nb = Int(Rnd * cpt) + 1 me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb) End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai donc un tableau : public plats(1 to 20) as string et une table "plats" avec 2 champs: [N°] et [plat] cette table je l'alimente par un formulaire de saisie. Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à 20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement doit afficher le plat du tableau correspondant au N° OU, autre solution, est-il possible de n'avoir que la table plats , et dans le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ? merci, roger
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click()
Dim cpt As Long, nb As Long
cpt = DCount("*", "plats")
Randomize Timer
nb = Int(Rnd * cpt) + 1
me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb)
End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai
donc un tableau :
public plats(1 to 20) as string
et une table "plats" avec 2 champs: [N°] et [plat]
cette table je l'alimente par un formulaire de saisie.
Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à
20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement
doit afficher le plat du tableau correspondant au N°
OU, autre solution, est-il possible de n'avoir que la table plats , et dans
le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui
dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ?
merci,
roger
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click() Dim cpt As Long, nb As Long cpt = DCount("*", "plats") Randomize Timer nb = Int(Rnd * cpt) + 1 me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb) End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai donc un tableau : public plats(1 to 20) as string et une table "plats" avec 2 champs: [N°] et [plat] cette table je l'alimente par un formulaire de saisie. Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à 20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement doit afficher le plat du tableau correspondant au N° OU, autre solution, est-il possible de n'avoir que la table plats , et dans le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ? merci, roger
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
le méruvien
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
"Eric" a écrit dans le message de news:
Bonjour,
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click() Dim cpt As Long, nb As Long cpt = DCount("*", "plats") Randomize Timer nb = Int(Rnd * cpt) + 1 me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb) End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai donc un tableau : public plats(1 to 20) as string et une table "plats" avec 2 champs: [N°] et [plat] cette table je l'alimente par un formulaire de saisie. Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à 20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement doit afficher le plat du tableau correspondant au N° OU, autre solution, est-il possible de n'avoir que la table plats , et dans le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ? merci, roger
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire
un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
OgCMEZ2yGHA.3584@TK2MSFTNGP02.phx.gbl...
Bonjour,
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click()
Dim cpt As Long, nb As Long
cpt = DCount("*", "plats")
Randomize Timer
nb = Int(Rnd * cpt) + 1
me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb)
End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table,
j'ai donc un tableau :
public plats(1 to 20) as string
et une table "plats" avec 2 champs: [N°] et [plat]
cette table je l'alimente par un formulaire de saisie.
Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de
1 à 20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui
normalement doit afficher le plat du tableau correspondant au N°
OU, autre solution, est-il possible de n'avoir que la table plats , et
dans le 2eme form, si je sort un 5 (par exemple) de mettre une conditon,
qui dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ?
merci,
roger
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
"Eric" a écrit dans le message de news:
Bonjour,
Je ne gererai pas de tableau mais utiliserai les fonctions de domaine.
Sur l'évènement click du bouton qui tire le numéro aléatoire:
Private Sub Commande0_Click() Dim cpt As Long, nb As Long cpt = DCount("*", "plats") Randomize Timer nb = Int(Rnd * cpt) + 1 me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & nb) End Sub
bonjour, je voudrais alimenter un tableau avec les données d'une table, j'ai donc un tableau : public plats(1 to 20) as string et une table "plats" avec 2 champs: [N°] et [plat] cette table je l'alimente par un formulaire de saisie. Sur un autre formulaire, j'ai un bouton qui tire un chiffre aléatoire de 1 à 20, et donc apres tirage de ce chiffre, j'ai un champ "plat" qui normalement doit afficher le plat du tableau correspondant au N° OU, autre solution, est-il possible de n'avoir que la table plats , et dans le 2eme form, si je sort un 5 (par exemple) de mettre une conditon, qui dirai en gros "si N°= 5 afficher le champ N° 5 de la tbl plats ? merci, roger
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
Bonjour Roger,
En adaptant la procédure donnée par Arnaud (Anor) http://minilien.com/?sfXYUXJzFW
Toutefois, si tu n'as que 20 valeurs, les plats vont revenir souvent ;-)
On pourrait faire par exemple (tout à copier dans le module du formulaire contenant le bouton procédant au tirage):
Option Compare Database Option Explicit Dim DejaSorti() As Boolean
Function Tirage(UnNombre As Long) On Error Resume Next Dim i As Integer, Cumul As Long Dim TirageTmp As Integer ReDim Preserve DejaSorti(1 To UnNombre) For i = 1 To UnNombre Cumul = Cumul + Abs(DejaSorti(i)) Next i If Cumul = UnNombre Then ' tous sortis Erase DejaSorti() ' on écrase le tableau ReDim Preserve DejaSorti(1 To UnNombre) 'on le recrée ' on pourrait prévoir autre chose End If Randomize Timer Do Until DejaSorti(TirageTmp) = False TirageTmp = -Int(-Rnd * UnNombre) Loop DejaSorti(TirageTmp) = True Tirage = TirageTmp End Function
Private Sub Commande0_Click() me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & Tirage(DCount("*", "plats"))) End Sub
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
--
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Roger,
En adaptant la procédure donnée par Arnaud (Anor)
http://minilien.com/?sfXYUXJzFW
Toutefois, si tu n'as que 20 valeurs, les plats vont revenir souvent ;-)
On pourrait faire par exemple (tout à copier dans le module du
formulaire contenant le bouton procédant au tirage):
Option Compare Database
Option Explicit
Dim DejaSorti() As Boolean
Function Tirage(UnNombre As Long)
On Error Resume Next
Dim i As Integer, Cumul As Long
Dim TirageTmp As Integer
ReDim Preserve DejaSorti(1 To UnNombre)
For i = 1 To UnNombre
Cumul = Cumul + Abs(DejaSorti(i))
Next i
If Cumul = UnNombre Then ' tous sortis
Erase DejaSorti() ' on écrase le tableau
ReDim Preserve DejaSorti(1 To UnNombre) 'on le recrée
' on pourrait prévoir autre chose
End If
Randomize Timer
Do Until DejaSorti(TirageTmp) = False
TirageTmp = -Int(-Rnd * UnNombre)
Loop
DejaSorti(TirageTmp) = True
Tirage = TirageTmp
End Function
Private Sub Commande0_Click()
me.LeControlePlat= DLookup("plat", "plats", "[N°]=" &
Tirage(DCount("*", "plats")))
End Sub
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire
un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
En adaptant la procédure donnée par Arnaud (Anor) http://minilien.com/?sfXYUXJzFW
Toutefois, si tu n'as que 20 valeurs, les plats vont revenir souvent ;-)
On pourrait faire par exemple (tout à copier dans le module du formulaire contenant le bouton procédant au tirage):
Option Compare Database Option Explicit Dim DejaSorti() As Boolean
Function Tirage(UnNombre As Long) On Error Resume Next Dim i As Integer, Cumul As Long Dim TirageTmp As Integer ReDim Preserve DejaSorti(1 To UnNombre) For i = 1 To UnNombre Cumul = Cumul + Abs(DejaSorti(i)) Next i If Cumul = UnNombre Then ' tous sortis Erase DejaSorti() ' on écrase le tableau ReDim Preserve DejaSorti(1 To UnNombre) 'on le recrée ' on pourrait prévoir autre chose End If Randomize Timer Do Until DejaSorti(TirageTmp) = False TirageTmp = -Int(-Rnd * UnNombre) Loop DejaSorti(TirageTmp) = True Tirage = TirageTmp End Function
Private Sub Commande0_Click() me.LeControlePlat= DLookup("plat", "plats", "[N°]=" & Tirage(DCount("*", "plats"))) End Sub
Salut Eric, merci, ça marche, seul truc, c'est que maintenant je dois faire un systeme pour pas qu'un même chiffre ne resorte plusieurs fois.
--
A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr