OVH Cloud OVH Cloud

opérations sur enregistrement

4 réponses
Avatar
Pascal
bonjour,
mon post précedent du 21/03 18h19 n'ayant suciter aucune réponse car pas
très clair de "comprenure"
je me permets de vous le poster différement

Comment trouver toutes les combinaisons de 4 chiffres CROISSANTE d'un
enregistrement

exemple: enregistrement= 10, 14, 29, 30, 39, 40

je devrais trouver
10,14,29,30
10,14,29,39
10,14,29,40
10,14,39,40
10,29,30,39
10,29,30,40
10,29,39,40
10,30,39,40
14,29,30,39
14,29,30,40
14,29,39,40
14,30,39,40
29,30,39,40

merci de vos idées

Pascal

4 réponses

Avatar
Eric
Bonjour Pascal,

Ci-dessous une procédure qui remplit un tableau avec les 15 possibilités
de ton exemple. Soit une table contenant 1 enregistrement avec tes 6
valeurs.(je suppose que les valeurs sont dans l'ordre croissant comme
dans ton exemple). {15 groupes de 4 nombres}

Option Compare Database
Option Base 0

Sub Pascal()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Pascal")
Dim Tableau(14, 3)
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, ligne As Integer
For i = 0 To 2
For j = i + 1 To 3
For k = j + 1 To 4
For l = k + 1 To 5
Tableau(ligne, 0) = rs(i)
Tableau(ligne, 1) = rs(j)
Tableau(ligne, 2) = rs(k)
Tableau(ligne, 3) = rs(l)
ligne = ligne + 1
Next l
Next k
Next j
Next i
For i = 0 To ligne - 1
For j = 0 To 3
Debug.Print Tableau(i, j);
Next j
Debug.Print
Next i
End Sub

Résultat obtenu:
10 14 29 30
10 14 29 39
10 14 29 40
10 14 30 39
10 14 30 40
10 14 39 40
10 29 30 39
10 29 30 40
10 29 39 40
10 30 39 40
14 29 30 39
14 29 30 40
14 29 39 40
14 30 39 40
29 30 39 40

A+
Eric


bonjour,
mon post précedent du 21/03 18h19 n'ayant suciter aucune réponse car pas
très clair de "comprenure"
je me permets de vous le poster différement

Comment trouver toutes les combinaisons de 4 chiffres CROISSANTE d'un
enregistrement

exemple: enregistrement= 10, 14, 29, 30, 39, 40

je devrais trouver
10,14,29,30
10,14,29,39
10,14,29,40
10,14,39,40
10,29,30,39
10,29,30,40
10,29,39,40
10,30,39,40
14,29,30,39
14,29,30,40
14,29,39,40
14,30,39,40
29,30,39,40

merci de vos idées

Pascal



Avatar
Pascal
ah Eric!
tu m'avais déjà bien aidé il y a quelque temps et te revoilà, sympa!
grand merci pour le temps passé dessus

Pascal

"Eric" a écrit dans le message de news:

Bonjour Pascal,

Ci-dessous une procédure qui remplit un tableau avec les 15 possibilités
de ton exemple. Soit une table contenant 1 enregistrement avec tes 6
valeurs.(je suppose que les valeurs sont dans l'ordre croissant comme
dans ton exemple). {15 groupes de 4 nombres}

Option Compare Database
Option Base 0

Sub Pascal()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Pascal")
Dim Tableau(14, 3)
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, ligne As Integer
For i = 0 To 2
For j = i + 1 To 3
For k = j + 1 To 4
For l = k + 1 To 5
Tableau(ligne, 0) = rs(i)
Tableau(ligne, 1) = rs(j)
Tableau(ligne, 2) = rs(k)
Tableau(ligne, 3) = rs(l)
ligne = ligne + 1
Next l
Next k
Next j
Next i
For i = 0 To ligne - 1
For j = 0 To 3
Debug.Print Tableau(i, j);
Next j
Debug.Print
Next i
End Sub

Résultat obtenu:
10 14 29 30
10 14 29 39
10 14 29 40
10 14 30 39
10 14 30 40
10 14 39 40
10 29 30 39
10 29 30 40
10 29 39 40
10 30 39 40
14 29 30 39
14 29 30 40
14 29 39 40
14 30 39 40
29 30 39 40

A+
Eric


bonjour,
mon post précedent du 21/03 18h19 n'ayant suciter aucune réponse car
pas


très clair de "comprenure"
je me permets de vous le poster différement

Comment trouver toutes les combinaisons de 4 chiffres CROISSANTE d'un
enregistrement

exemple: enregistrement= 10, 14, 29, 30, 39, 40

je devrais trouver
10,14,29,30
10,14,29,39
10,14,29,40
10,14,39,40
10,29,30,39
10,29,30,40
10,29,39,40
10,30,39,40
14,29,30,39
14,29,30,40
14,29,39,40
14,30,39,40
29,30,39,40

merci de vos idées

Pascal





Avatar
Eric
re,

Quand j'ai vu le problème j'ai pensé tout de suite à toi et tes nombres.
Y en a qu'1 pour avoir ce truc à traiter. ;o)
Toujours dans la même veine que 2004 je vois.

A+
Eric

ah Eric!
tu m'avais déjà bien aidé il y a quelque temps et te revoilà, sympa!
grand merci pour le temps passé dessus

Pascal



Avatar
Pascal
tu l'as dit c'est plus une veine c'est une artère, mais y'en a qu'1 pour
trouver les soluces !
encore merci
Pascal


"Eric" a écrit dans le message de news:
uZSh$
re,

Quand j'ai vu le problème j'ai pensé tout de suite à toi et tes nombres.
Y en a qu'1 pour avoir ce truc à traiter. ;o)
Toujours dans la même veine que 2004 je vois.

A+
Eric

ah Eric!
tu m'avais déjà bien aidé il y a quelque temps et te revoilà, sympa!
grand merci pour le temps passé dessus

Pascal