IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Création d'une base de données "Parfums"


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Création d'une base de données "Parfums"
    Bonjour à toutes et tous,

    Je débute complètement sur Access et malgré la lecture attentive de plusieurs tutoriels, je rencontre encore des difficultés.

    Tout d'abord je vous expose mon projet. Dans le cadre de mon activité au CE de mon entreprise, je propose des parfums aux personnels. Jusqu'à présent je gérais mes commandes sous un tableau excel mais celui-ci s'avère de plus en plus fourni et, par conséquent, de moins en moins lisible. J'ai donc entrepris de créer une base de données d'une part pour m'éviter de saisir des doublons d'informations un nombre incalculable de fois (et donc de me faire gagner du temps dans la gestion de cette activité annexe), me permettre de me servir des informations enregistrées (par exemple voir quelles sont les marques les plus commandées pour obtenir des prix encore plus attractifs) et, à terme, mettre les informations en consultation intranet afin d'automatiser le recueil des commandes.

    Evidemment, je ne pensais pas que le travail demandé pour élaborer cette base serait si complexe. Je me permets donc de me tourner vers vous, d'une part pour savoir si ce que j'ai fait jusqu'à présent va dans le bon sens et ensuite pour que vous m'aidiez sur certains point d'achoppement.

    Voici la table des relations de ce que j'ai fait jusqu'à présent :


    La table client regroupe tous les salariés ayant passé commande.
    La table parfums comporte les articles disponibles ainsi que leurs références et prix
    La table commande contient le numéro de commande la date de livraison
    Enfin la table détail me permet d'individualiser les articles pour chaque commande.

    Si vous avez des commentaires me permettant de rendre cette base plus performante, n'hésitez surtout pas !!

    D'après ce que j'ai pu tester, ça a l'air de fonctionner mais je suis à présent bloqué pour réaliser ce que je faisais manuellement sous excel.
    Le plus important est l'actualisation des prix et l'existence de promotions.

    Je m'explique.
    Semestriellement, certains parfums voient leurs prix modifier. Or, si je change le prix dans ma table parfum, cela impacte les commandes antérieures (passées à l'ancien prix) et modifier mes anciennes factures, etc ...
    De plus, mon fournisseur met en place un système de promotions mensuelles pour certains parfums et, là aussi, si je change le tarif d'un parfum cela se répercute sur toutes les commandes.

    Faut-il que je crée une table promotion ? En créant, au besoin, une nouvelle référence pour le même parfum ? Faut-il que j'archive les anciens tarifs quelque part ?

    Deuxième interrogation : jusqu'à présent le CE offrait une réduction le mois anniversaire du salarié. Je réalisais ce travail manuellement par un pointage archaïque. Est-il possible d'automatiser cette tache ?

    Enfin, je souhaiterai mettre en place un menu se lançant à l'ouverture de la base et permettant, via un bouton, de saisir des critères de recherche de parfums (homme/femme, prix compris entre x & y, marque, parfum/crème) afin de n'afficher qu'une partie du catalogue pour les utilisateurs.
    Si j'ai bien réussi à lancer cette "intro" à l'ouverture d'access, je ne parviens pas à comprendre comment créer cette fonction de recherche qui permettrait aux salariés d'accéder à une partie seulement du catalogue (ce qui est beaucoup moins fastidieux).


    J'ai, bien évidemment, beaucoup d'autres questions mais je vais m'arrêter là et ne pas vous abreuver de questions. J'espère ne pas avoir abuser de votre temps et avoir été suffisamment clair dans mes interrogations.

    Je vous remercie, par avance, de votre aide précieuse qui me permettra de sortir de mes tableaux Excel et d'avoir un outil riche et adapté.

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour et bienvenue au club,

    Semestriellement, certains parfums voient leurs prix modifier. Or, si je change le prix dans ma table parfum, cela impacte les commandes antérieures (passées à l'ancien prix) et modifier mes anciennes factures, etc ...
    De plus, mon fournisseur met en place un système de promotions mensuelles pour certains parfums et, là aussi, si je change le tarif d'un parfum cela se répercute sur toutes les commandes.
    Tu dois mémoriser le prix des articles dans les lignes de détails. Ainsi chaque ligne de commande restera valorisée à son tarif "historique"

    Faut-il que je crée une table promotion ? En créant, au besoin, une nouvelle référence pour le même parfum ? Faut-il que j'archive les anciens tarifs quelque part ?
    Si tu as des promotions mensuelles pour certains articles, je suggérais de créer une table tarif liée aux Parfums, avec les champs :
    idtarif, clè primaire
    code article : clé étrangère (=code article de Parfum)
    mtTarif, montant tarif
    typTraif, tarif catalogue ou tarif promotinnel
    dtDebutTraif, date début tarif promotionnel
    dtFinTarif date fin tarif promotionnel

    Deuxième interrogation : jusqu'à présent le CE offrait une réduction le mois anniversaire du salarié. Je réalisais ce travail manuellement par un pointage archaïque. Est-il possible d'automatiser cette tache ?
    Si tu as une table des salariés actifs avec leur nom et leur date de naissance : pas de difficultés à automatiser

    Enfin, je souhaiterai mettre en place un menu se lançant à l'ouverture de la base et permettant, via un bouton, de saisir des critères de recherche de parfums (homme/femme, prix compris entre x & y, marque, parfum/crème) afin de n'afficher qu'une partie du catalogue pour les utilisateurs.
    Si j'ai bien réussi à lancer cette "intro" à l'ouverture d'access, je ne parviens pas à comprendre comment créer cette fonction de recherche qui permettrait aux salariés d'accéder à une partie seulement du catalogue (ce qui est beaucoup moins fastidieux).
    Si je comprend bien cette base est distribuée en réseau (frontaux et dorsale) Il te faut mémoriser les paramétres par dfaut (ou bien les derniers utilisés) nécessaires au lancement de ta recherche multicritere dans une table locale (: sur chaque frontal) ainsi chaque utilisateur retrouvera ses propres criteres

    Espère avoir été clair (bien que concis)
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre expérimenté Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 111
    Points : 1 612
    Points
    1 612
    Par défaut
    Evite les "/" et les "(" dans les noms de champs. Pas d'accents non plus ni d'espaces.
    Sinon j'aime bien l'affiche.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 148
    Points
    148
    Par défaut
    Bonsoir...

    Si je peux me permettre une ou deux remarques sur tes tables....
    A mon avis, elles ne sont pas bien créees..
    La Cle "num client" de la table Detail ne devrait pas etre la, mais plutot dans la table "commandes", ainsi que les champs "livré" et "payé".

    Tu pourrais t'inspirer de la base exemple "comptoire" qui contient un jeu de table commandes, detail commandes, fournsseurs, articles etc...
    Ce serait sans doute mieux adapté....

    Bon courage

    DIdier71

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,

    Merci pour vos réponses.

    Je débute réellement sur Access et c'est ma première base de données donc j'ai quelques difficultés de compréhension de tes explications micniv. Je vais néanmoins tenter de mettre en oeuvre ce que tu me suggères.

    Tu dois mémoriser le prix des articles dans les lignes de détails. Ainsi chaque ligne de commande restera valorisée à son tarif "historique"
    Tu me conseilles de remettre le prix de chaque produit dans la table Détails plutôt que dans la table parfum, c'est bien ça ?

    Je vais également essayer de voir comment est réalisée la table comptoire.
    J'ai l'impression de m'être lancé un défi insurmmontable !!! Mais je ne désespère pas de parvenir à mes fins ;-)

    S'agissant de la mise en réseau ; c'est l'objectif final de ma base mais pour le moment je me contenterai d'un usage sur un poste accessible à tous.

    Je vous remercie à nouveau pour vos conseils et vous tiens au courant pour la réussite de la mise en oeuvre

    Sinon j'aime bien l'affiche.
    Merci beaucoup

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Quelques précisions :
    Tu me conseilles de remettre le prix de chaque produit dans la table Détails plutôt que dans la table parfum, c'est bien ça ?
    Tu dois conserver le prix dans la table Parfum (je l'appelle le "tarif catalogue") et chaque fois qu'une ligne de commande est créée, c'est ce tarif catalogue qui est copié et archivé dans la table Details : ainsi quand un fournisseur modifie son tarif catalogue, il est changé dans la table Parfum mais les prix des lignes de commandes ne sont pas impactés dans la table Detail.

    Sinon je souscris aux conseils de Stigma de Didier71 : Pas d'espace , pas de caractère dangereux, pas d'accent (en bref : que des alphanumériques, des - ou des _) dans les noms de tables, de requetes, de formulaires.
    De plus, prend l'habitude de mettre :
    . un "T_" devant le nom de tes tables (Parfum devient T_parfum ...),
    . un "R_" devant le nom des requtes,
    . un "F_" devant le nom de tes formulaires ...
    tu constateras que la visibilité de ton application sera grandement améliorée.
    Bonne continuation
    "Always look at the bright side of life." Monty Python.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    La Cle "num client" de la table Detail ne devrait pas etre la, mais plutot dans la table "commandes", ainsi que les champs "livré" et "payé".
    En fait dans la table détail apparait le détail de chaque commande.
    Par exemple pour ma commande n°23 Mme Y a commandé "L" de Lolita Lempicka (je récupère la commande dans la table commande, le clien dans la table client et le produit dans la table parfum). Ensuite je coche si le produit a été livré (afin de me permettre de ne pas compter les produits non livrés dans ce que doit Mme Y) et enfin si Mme Y a bien payé pour chaque produit (cette dernière solution s'avère peu pratique mais je n'ai pas trouvé comment placé l'option "payé" pour le total uniquement et pas pour chaque produit)

    Sinon, j'ai renommé les tables et formulaires comme tu me le conseillais micniv par contre je ne comprends pas ce que je dois faire concernant le tarif dans la table détail ? Je dois créer une colonne "Tarif_detail" dans laquelle je vais récupérer le tarif catalogue ? Mais ayant déjà récupéré la référence du parfum, le prix n'est-il pas lié ? J'avoue être un peu perdu ... désolé d'être si hermétique à tes conseils qui, je m'en doute, doivent être simple à mettre en oeuvre en réalité.

    Voici comment se présente ma T-Detail :


    J'espère n'avoir pas commis trop d'incohérences ...

    Merci pour votre aide !!!

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    (cette dernière solution s'avère peu pratique mais je n'ai pas trouvé comment placé l'option "payé" pour le total uniquement et pas pour chaque produit)
    Comme le recommendait plus haut Didier71, si tu peux, prend du temps à étudier la base exemple "Comptoirs" . En fait quand on traite des commandes (pareil pour les factures ...) on crée 2 tables une table T_cde_entete (pour les informations d'entetes et de pied des commandes) et une table T_cde_detail (pour les lignes de commandes) Dans ton cas ci-dessus, la coche "Payée" serait dans T_cde_entete ...
    Je dois créer une colonne "Tarif_detail" dans laquelle je vais récupérer le tarif catalogue ?
    Oui il te faut créer un champ supplémentaire Tarif_detail dans T_detail.
    Quand tu crées une nouvelle ligne de cde, lorsque tu choisis un article, tu recopies aussi son tarif_catalogue dans Tarif_detail.
    Bien sur l'article est lié au prix catalogue : mais celui_ci peut être modifié : aussi faut-il mémoriser le prix à la création de la cde (Tarif_detail) !


    "Always look at the bright side of life." Monty Python.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    D'accord j'ai compris je pense.
    Mais cela signifie que je saisis plusieurs fois la même information ?
    Dans ce cas, est-il utile de laisser le Tarif_Catalogue ?
    Je pensais que l'intérêt d'Access était de m'éviter de saisir plusieurs fois les mêmes données ?

    Merci beaucoup de ta précieuse aide !! Je commence à entrevoir comment faire. Je vais essayer d'analyser la base comptoire mais je me disais qu'en partant de rien je serai plus à même d'obtenir ce que je souhaite réellement ... toutefois je n'avais pas imaginé que ce serait assez complexe

    Merci encore pour ta patience devant mon ignorance.

Discussions similaires

  1. création d'une base de données
    Par cyrilng dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 18/05/2005, 14h38
  2. Réponses: 4
    Dernier message: 22/09/2004, 09h17
  3. Création d'une base de données contenant des images
    Par gandalf_le_blanc dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 16/06/2004, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo