Chaque valeur pour chaque mois de la table 2 correspond à une Valeur0x
de la table 1. Il faut que je remplisse chaque ligne de la table 1 en
divisant chaque valeur par la somme des montant de la table 2 (qui
correspondent au même IdContrat).
cad : Valeur00 = montant pour le mois(0) / somme (montant)
Pour ça, j'utilise des recordset mais je n'arrive pas à automatiser le
processus. J'aimerais bien pouvoir faire quelque chose du genre
set recordset =
currentdb.openrecordset("Table1")
for i = 0 to 12
rs!Valeur0
& i = mon résultat
next i
Je n'arrive à rien et je suis obligé d'écrire pour chaque Valeur :
rs![Valeur00] = mon résultat
rs![Valeur01] = mon résultat
Sachant que j'ai plusieurs conditions possibles à l'ajout dans table1
j'en suis à 320 lignes de code pour remplir 1 ligne du tableau 1
et je dois en tout remplir 30 lignes !!!!!!!
Donc si vous avez une petite idée, même infime, je suis preneur. Si je ne suis pas assez clair, demandez moi et je réexplique.
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 15 sept. 2005 à 11:45
oui, j'ai bien une petite idee, mais je ne suis pas sur qu'elle te plaise !
le mieux serait de remodeliser ta BDD car la c'est quand meme pas le top
je me demande a quoi correspondent tes valeurs Valeur01, valeur02,...
mais je pense qu'il serait mieux de modifier ta table 1 poru qu'elle soit comme ca :
Idindicateur |IdContrat | indiceValeur|Valeur |
où indiceValeur prendrait les valeur 00 à 12
apres, ton probleme devrait se resoudre de lui meme, avec juste quelques requetes habiles :)
omsylv
Messages postés69Date d'inscriptionlundi 3 janvier 2005StatutMembreDernière intervention15 septembre 2005 15 sept. 2005 à 12:44
Pour ta première idée : quand j'essaye de faire un rs!["Valeur0" &
cstr(i)] = .... Il me dit que le champ n'est pas trouvé
dans la collection.
Comme si il cherchait un champ [Valeur0&cstr(i)]
Pour ta deuxième solution : je n'y avais pas pensé. Effectivement,
l'emploi des index (ou indicateurs je ne sais plus) règle mon problème.
Le seul soucis qui pourrait survenir : si des champs sont ajoutés dans
la table.
Je vais donc réfléchir à quelle solution je privilégie entre ton premier message et la deuxième idée du deuxième message.
Je te remercie beaucoup !
Vous n’avez pas trouvé la réponse que vous recherchez ?
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 16 sept. 2005 à 10:25
De rien.
oui effectivement, la deuxieme solution impose que tu ne modifie plus la BDD par la suite.
ou alors si tu veux etre sur sur, tu peux faire une recheche du champs qui s'appelle "valeur00" en verifiant les noms un a un. mais c pas super.
c'est pour ca que si tu veux quelque chose de propre, le mieux c'est encore de remodeliser la base. surtout que je pense que par la suite si tu as d'autre traitements a faire, ca sera plus pratique...