Access : je sais ce que je veux, mais comment faire ? - Logiciels - Windows & Software
Marsh Posté le 01-10-2004 à 13:25:34
Que veux tu faire exactement ? Je suis pas sur d'avoir bien compris ce que tu veux faire...
Si ton but est de faire un listing des softs par nom, tout dépend s'il est possible que deux noms soient lié au même softs. Peux tu avoir par exemple avoir la chose suivante :
champsNom | champsLog |
Si oui, je pense qu'il faudrait construire une base un peu plus costaud (ça reste très simple bien sur), avec liaison entre les tables, et une requête qui construit à la demande le résultat dont tu as besoin.
Marsh Posté le 01-10-2004 à 13:38:33
Ben j'ai cette idée la aussi pour construire une base avec les noms de logiciels mais dans un deuxieme temps. Vu que je ne maitrise pas
A moins que cela ne facilite pour creer ma requete
Marsh Posté le 01-10-2004 à 13:58:32
En gros, pour ma part, je procéderai de la manière suivante :
Table Nom
IdNom | LibelleNom |
Table Logiciel
IdLog | LibelleLogiciel |
Table LogParNom
IdNom | IdLog |
Ensuite un peu de SQL pour obtenir des résultats aussi divers que (par exemple) :
- les softs par utilisateurs :
- les utilisateurs par soft
- le nombre d'utilisateurs par soft
- le nombre de softs par utilisateurs
- les utilisateurs qui n'ont pas un softs donné
- la liste des softs que tous les utilisateurs ont
..........
Il suffit juste d'acrire les choses correctement. Ensuite, quelques formulaires pour mettre tout ça en forme, et le tour est joué
Marsh Posté le 01-10-2004 à 14:06:45
j'ai appris a me depatouiller avec access grace a ce site
http://www.cathyastuce.com/
Marsh Posté le 01-10-2004 à 14:56:07
Merci je vais visiter ce site
Mais es commande SQL, je sais meme pas ce que c'est
Marsh Posté le 01-10-2004 à 15:25:22
Kortex@HFR a écrit : En gros, pour ma part, je procéderai de la manière suivante : |
Alors la Table Nom, je l'ai deja puisque c'est ma base principale donc avec un ID unique pour chaque Nom.
La Table Logiciel, je l'ai crée avec un ID unique par logiciel sans doublon.
Par contre le 3e table LogParNom, je vois pas très bien par quel moyen la lier ? j'ai créé des "relations" entre les tables précédemment citées en tirant des traits entre chaque mais j'en fait quoi apres
Marsh Posté le 01-10-2004 à 15:40:09
C'est de la modélisation de données. Ta table Nom possède un ID numérique en face de chaque nom afin de permettre des doublons justement (des homonyme peuvent exister), tout en étant en mesure d'identifier de manière unique chaque utilisateur, et pareil pour les softs. L'autre avantage, c'est que tu vas ensuite faire la relation entre Nom et Log par la table LogParNom, ce qui fait que tu vas uniquement stocker des numéro dans cette table, et que les numéros sont plus léger que les chaînes auniveau stockage.
L'autre intérêt est que ta base devient alorts évolutive, car on peut très bien imaginer une table supplémentaire qui serait (par exemple) la table Editeur et qui permet de savoir qui l'éditeur d'un soft. En ajoutant une simple table à des colonne (IdEditeur, LibelleEditeur) et une clé (IdEditeur) dans la table Log, on pourrait créer un catalogue d'éditeur et stocker avec chaque soft de la table Log relié à un Editeur. Tu vois ce que je veux dire ?
Pour la table LogParNom, tu créés une table qui contient deux champs Numérique que tu met en clé primaire (clé primaire composée) et tu créés également des liaisons entre les champs IdNom des tables Nom et LogParNom et entre les champs IdLog des tables Logiciel et LogParNom. Ainsi, lorsque tu associes un logiciel à un utilisateur, tu es sur :
1°/ que ton soft existe bien dans ton catalogue de soft
2°/ que ton utilisateur existe bien dans ton annuaire d'utilisateur
3°/ que le soft n'est pas déjà attribué à l'utilisateur
En ce qui concerne SQL, c'est un langage de requêtage au sein des bases de données, qui permet d'obtenir des résultats très précis et complexe à partir d'une ensemble de données respectant des règles de modélisation, comme celle que je t'ai données en exemple. Jette un oeil sur http://www.commentcamarche.net, ils ont un dossier d'introduction à SQL qui est très bien. Si tu veux que je te donne un coup de main, demande moi, je t'expliquerai.
Edit : la méthode que je te propse est un peu lourde pour une simple gestion de soft par utilisateur, j'en conviens. Mais par contre c'est une méthode qui restera valide si tu doit monter des projets plus conséquents ou si ta base doit s'enrichir d'autres informations.Quit à devoir monter un truc, autant apprendre des choses en même temps non ?
Marsh Posté le 01-10-2004 à 16:03:44
Citation : C'est de la modélisation de données. Ta table Nom possède un ID numérique en face de chaque nom afin de permettre des doublons justement (des homonyme peuvent exister), tout en étant en mesure d'identifier de manière unique chaque utilisateur, et pareil pour les softs. L'autre avantage, c'est que tu vas ensuite faire la relation entre Nom et Log par la table LogParNom, ce qui fait que tu vas uniquement stocker des numéro dans cette table, et que les numéros sont plus léger que les chaînes auniveau stockage. |
tout ca j'ai saisi
Citation : Pour la table LogParNom, tu créés une table qui contient deux champs Numérique que tu met en clé primaire (clé primaire composée) et tu créés également des liaisons entre les champs IdNom des tables Nom et LogParNom et entre les champs IdLog des tables Logiciel et LogParNom. Ainsi, lorsque tu associes un logiciel à un utilisateur, tu es sur : |
Donc là j'ai bien associé (relation) le champs Logiciel de ma premiere table (tout en haut du topic) et le champs logiciel de ma table ou j'ai ma liste de logiciel sans doublon avec numero unique et j'obtiens... dans cette table avec un petit "+" la liste des nom qui ont ce logiciel
Il me faut trouver comment faire l'inverse (qui a quoi)
Citation : En ce qui concerne SQL, c'est un langage de requêtage au sein des bases de données, qui permet d'obtenir des résultats très précis et complexe à partir d'une ensemble de données respectant des règles de modélisation, comme celle que je t'ai données en exemple. Jette un oeil sur http://www.commentcamarche.net, ils ont un dossier d'introduction à SQL qui est très bien. Si tu veux que je te donne un coup de main, demande moi, je t'expliquerai. |
Merci de ton aide, j'vais finir par devenir developpeur de bdd
Citation : Edit : la méthode que je te propse est un peu lourde pour une simple gestion de soft par utilisateur, j'en conviens. Mais par contre c'est une méthode qui restera valide si tu doit monter des projets plus conséquents ou si ta base doit s'enrichir d'autres informations.Quit à devoir monter un truc, autant apprendre des choses en même temps non ? |
Disons que là deja ma base est conséquente (j'en dirais pas plus )
Je cherche à faire cela parceque normalement je fais toute la saisie en copier coller entre deux bases et j'ai (pratiquement) personne pour me soutenir bref je m'investis pour me facilité la tache, et je ne serai meme pas remercier
Marsh Posté le 05-10-2004 à 10:28:27
J'lis des tuto mais ca ne m'avance pas... suis toujours au meme point
Marsh Posté le 05-10-2004 à 18:51:42
euh savoir ou je clique dans access
J'essaye de creer des liaisons, des requetes mais bon, évidement j'fais au pif.
Le probleme c'est que c'est vraiment très flou pour moi...
Marsh Posté le 01-10-2004 à 12:34:38
Bonjour
Je tripatouille dans access depuis quelques jours mais j'y connais pas grand chose !
J'explique ce que je veux :
J'ai deux tables pleines de données, une sous forme :
champsNom champsLog
nom1 LogA
nom1 LogB
nom1 LogC
nom2 LogD
nom2 LogE
nom3 LogF
nom3 LogG
nom3 LogH
Et l'autre sous forme
champsNom Logiciel1 Logigiciel2 Logiciel3
Elle ne contient pas d'enregistrement vu que je veux mettre ceux de la premiere table sous forme :
champsNom Logiciel1 Logigiciel2 Logiciel3
nom1 LogA LogB LogC
nom2 LogD LogE
nom3 LogF LogG LogH
Est-ce que l'on peut me guider pour créer ma requète ?
(J'ai été clair ? )
Merci aux experts !