|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Gilles Plattner Inscription : avril 2010 Messages : 4 ![]() |
Bonjour,
Je suis confronté au problème du nombre de ligne sous Excel, et je pensais trouver la solution sous access... le problème c'est que je ne connais pas access du tout et que je dos rendre ce travail ce soir... (nan,... si, si...) Voilà ce que j'ai sous Excel et que je cherche(rais) à reproduire sous access (si toutefois access est la bonne solution): Première feuille Excel: Premier tableau: Liste de villes et leur population - Champ 1: Une liste de villes - champ 2: population de ces villes en 1950 Second tableau: Distance entre chaque ville - Champ 1: Ville1_départ - Champ 2: Ville2_arrivée - Champ 3: Distance Ville1 à Ville2 (Donc par exemple, pour quatre villes dans ma liste, j'aurais 6 lignes dans le second tableau, car: Distance Ville1_VIlle2 Distance Ville1_Ville3 Distance Ville1_Ville4 Distance Ville2_Ville3 Distance Ville2_Ville4 Distance Ville3_Ville4) - Champ 4: Distance pondérée entre Ville1 et Ville2 (=distance*(popville1_en1950+popVille2_en1950) Tableau 3: Distance moyennes de chaque ville à toutes les autres - Champ 1: La liste des villes - Champ 2: moyenne pour chaque ville de sa distance à toutes les autres (par exemple, pour Ville3: (Distance Ville3_Ville1+ Distance Ville3_Ville2 + Distance Ville 3_Ville4)/3 - Champ 3: idem que le précédent mais avec les distances pondérées. Deuxième feuille Excel: Tout identique sauf que la population est celle des années 1960 et non plus 1950. Il y a donc des relations entre les tableaux et des formules de calculs. Sous Excel, j'utilisais par exemple les formules Decaler() et Equiv() ainsi que des moyennes conditionnelles. Le problème intervient lorsque ma liste de villes n'est plus constituées de 4 villes mais de 1236 villes ce qui fait pas moins de 763230 distances à calculer.... Est-ce que access est effectivement la bonne solution? (sachant, de surcroît, que je dois reproduire la manœuvre plusieurs fois pour des années différentes...). Si, toutefois, une aide complète serait trop longue à fournir, peut-être qu'un aiguillage vers des aides access me serait profitable. J'ignore tant l'environnement access que je ne sais pas quel mot clefs mettre dans l'index de l'aide pour trouver réponse à mes questions. Merci mille fois à ceux qui me lanceront une bouée de sauvetage. Cordialement. |
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Bonjour,
Citation:
Citation:
Personnellement, je créerai une table qui contiendrait les champs suivants : Ville CoordonnéeX CoordonnéeY Population1950 Population1960 Population1970 ... Je gérerai ensuite les différents calculs à travers les requêtes. Cordialement, |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Gilles Plattner Inscription : avril 2010 Messages : 4 ![]() |
Vous voulez dire que Access sait calculer une distance à partir de coordonnées X et Y ????
ca serait génial! Ceci dit, j'ai déjà calculé les distances à l'aide d'un autre logiciel (si j'avais su qu'Access pouvait faire ça, je m'y serais mis plus tôt). Cet autre logiciel m'a rendu les résultats sous forme de fichiers .CSV Depuis ce matin, en bidouillant, j'ai réussi à intégrer ces fichiers sous Access. J'ai donc une table Access intitulée "T_Distance" avec les champs suivants (pour l'année 1950 uniquement, pour l'instant) Champ 1 : clef primaire (ne sachant pas trop ce que c'est j'ai accepté lorsque access m'a proposé d'en mettre une) Champ 2 : Ville1 Champ 3 : Ville2 Champ 4 : Distance Ville1-Ville2 Maintenant ça se corse. Dans l'idée que ça pourrait m'être utile, j'ai créé une autre table ("POP_TOT") indépendante, avec seulement les villes et les populations pour chaque année. Elle se présente comme suit: Champ 1: clef primaire (là aussi, sans savoir pourquoi particulièrement) Champ 2: Nom de la ville Champ 3: Population en 1950 Champ 4: Population en 1960 ainsi de suite jusqu'à Champ 8: Population en 2000 Je voudrais faire le calcul suivant: Au sein de la table "T_Distance", additionner les valeurs de populations des champs 2 (Ville1) et 3 (Ville2) et multiplier le résultat par le champ 4 (Distance ville1-Ville2). Or, dans ces champs 2 et 3, il n'y a que les noms des villes et non pas leur population. Cette donnée est contenue dans la table "POP_TOT". Il faudrait donc aller chercher l'information sur la valeur de population dans la table "POP_TOT", faire l'addition et la multiplication et renvoyer le résultat dans un nouveau champ de la table "T_Distance". Puis recommencer l'opération pour les lignes d'en-dessous. Je continue de bidouiller dans mon coin, bien évidemment, si cependant, quelqu'un a des idées pour me faire avancer plus vite, je prendrais ses suggestions avec grand plaisir et soulagement! Merci |
|
|
00
|
|
|
#4 | |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Citation:
Si vous disposez de coordonnées GPS, une simple recherche Google sur "calculer la distance entre 2 coordonnées GPS" devrait vous donner la formule. |
|
|
|
00
|
|
|
#5 | |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Citation:
Dans les tables, il ne faut garder que les données de bases, à savoir les villes, la population suivant les années et les distances (si vous ne voulez/pouvez pas passer par des coordonnées). Tous les champs calculés ne doivent pas être stockés comme données dans les tables. Vous devez utiliser des requêtes pour vos champs calculés. Une requête est une interrogation faite sur les données de bases (à base de filtres ou critères) dans laquelle on rajoute ses calculs. |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Gilles Plattner Inscription : avril 2010 Messages : 4 ![]() |
ok, Je vais essayer de faire comme vous dite. merci beaucoup en tout cas.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com