Comment créer une table qui reprenne les 5 premieres valeurs dans un ordre
décroissant, et ne prendre que les 5 premieres, meme si la valeur de la
sixième est identique à la cinquième.
Exemple : 20, 18, 17, 12, 12, 12, 10,
La table doit retenir 20, 18, 17, 12 ,12 et ensuite y faire la somme
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
Nobodyisperfect
Salut Manux,
Tu fais une requête avec un tri décroissant sur la valeur voulue, puis par code VBA, tu ne prends que les 5 premiers enregistrements que tu mets dans la table voulue !!.
Ex : Requete1 (C'est la requête qui fait le tri décroissant)
TableFinale (C'est la table qui recevra tes 5 premiers enregistrements
Code VBA (DAO)
Sub toto() Dim MaDatabase as Database Dim MonRst as Recorset Dim MaTableFinale as Recordset Dim Compteur as Integer
Set MaDatabase = CurrentDb Set MonRst = MaDatabase.OpenRecordset("Requete1") Set MaTableFinale = MaDatabase.OpenRecorset("TableFinale")
With MonRst Compteur=1 While Compteur <= 5 .Edit MaTableFinale.AddNew MaTableFinale!Champ1 = !Champ1 (!Champ1 correspondant au champ1 de ta requete "Requete1") MaTableFinale!Champ2 = !Champ2 MaTableFinale!Champ3 = !Champ3 etc....... MaTableFinale.Update .Update .MoveNext Compteur = Compteur+1 Wend
Set MonRst = Nothing Set MaTableFinale = Nothing MaDatabase.Close End Sub
"Manux" wrote in message news:
Bonjour
Comment créer une table qui reprenne les 5 premieres valeurs dans un ordre décroissant, et ne prendre que les 5 premieres, meme si la valeur de la sixième est identique à la cinquième. Exemple : 20, 18, 17, 12, 12, 12, 10, La table doit retenir 20, 18, 17, 12 ,12 et ensuite y faire la somme
Merci de votre aide.
Salut Manux,
Tu fais une requête avec un tri décroissant sur la valeur voulue, puis
par code VBA, tu ne prends que les 5 premiers enregistrements que tu mets
dans la table voulue !!.
Ex :
Requete1 (C'est la requête qui fait le tri décroissant)
TableFinale (C'est la table qui recevra tes 5 premiers enregistrements
Code VBA (DAO)
Sub toto()
Dim MaDatabase as Database
Dim MonRst as Recorset
Dim MaTableFinale as Recordset
Dim Compteur as Integer
Set MaDatabase = CurrentDb
Set MonRst = MaDatabase.OpenRecordset("Requete1")
Set MaTableFinale = MaDatabase.OpenRecorset("TableFinale")
With MonRst
Compteur=1
While Compteur <= 5
.Edit
MaTableFinale.AddNew
MaTableFinale!Champ1 = !Champ1 (!Champ1 correspondant au champ1 de
ta requete "Requete1")
MaTableFinale!Champ2 = !Champ2
MaTableFinale!Champ3 = !Champ3
etc.......
MaTableFinale.Update
.Update
.MoveNext
Compteur = Compteur+1
Wend
Set MonRst = Nothing
Set MaTableFinale = Nothing
MaDatabase.Close
End Sub
"Manux" <Manux@discussions.microsoft.com> wrote in message
news:A1609C6F-438D-4182-B627-53C750E8EAC4@microsoft.com...
Bonjour
Comment créer une table qui reprenne les 5 premieres valeurs dans un ordre
décroissant, et ne prendre que les 5 premieres, meme si la valeur de la
sixième est identique à la cinquième.
Exemple : 20, 18, 17, 12, 12, 12, 10,
La table doit retenir 20, 18, 17, 12 ,12 et ensuite y faire la somme
Tu fais une requête avec un tri décroissant sur la valeur voulue, puis par code VBA, tu ne prends que les 5 premiers enregistrements que tu mets dans la table voulue !!.
Ex : Requete1 (C'est la requête qui fait le tri décroissant)
TableFinale (C'est la table qui recevra tes 5 premiers enregistrements
Code VBA (DAO)
Sub toto() Dim MaDatabase as Database Dim MonRst as Recorset Dim MaTableFinale as Recordset Dim Compteur as Integer
Set MaDatabase = CurrentDb Set MonRst = MaDatabase.OpenRecordset("Requete1") Set MaTableFinale = MaDatabase.OpenRecorset("TableFinale")
With MonRst Compteur=1 While Compteur <= 5 .Edit MaTableFinale.AddNew MaTableFinale!Champ1 = !Champ1 (!Champ1 correspondant au champ1 de ta requete "Requete1") MaTableFinale!Champ2 = !Champ2 MaTableFinale!Champ3 = !Champ3 etc....... MaTableFinale.Update .Update .MoveNext Compteur = Compteur+1 Wend
Set MonRst = Nothing Set MaTableFinale = Nothing MaDatabase.Close End Sub
"Manux" wrote in message news:
Bonjour
Comment créer une table qui reprenne les 5 premieres valeurs dans un ordre décroissant, et ne prendre que les 5 premieres, meme si la valeur de la sixième est identique à la cinquième. Exemple : 20, 18, 17, 12, 12, 12, 10, La table doit retenir 20, 18, 17, 12 ,12 et ensuite y faire la somme