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 :

Questions sur modèle conceptuel + utilisation de est Null/Rechdom dans une macro


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Questions sur modèle conceptuel + utilisation de est Null/Rechdom dans une macro
    Bonjour à tous !

    C'est une apprentie dans la manipulation du logiciel Access qui s'adresse à vous...
    Je vous explique mon cas : je suis en train d'essayer de modéliser une entreprise de cours à domicile avec access, mais je rencontre quelques difficultés...

    Tout d'abord je ne suis pas convaincue de la validité de mon modèle de données (mis en pièce jointe)
    voici les hypothèses que j'ai prises :
    - un professeur ne peux enseigner qu'un seul type de matière
    - une matière peut être enseignée par plusieurs profs
    - un élève peut choisir plusieurs matières et une matière peut être choisie par plusieurs élèves

    => j'ai notamment des doutes concernant la pertinence de la création de deux tables différentes : ville-élève et ville-professeur.
    j'ai fait ce découpage car j'ai l'intention par la suite d'utiliser ces deux tables pour créer des requêtes m'indiquant quels sont les profs qui enseignent dans la ville d'un élève.. par exemple. Mais je doute beaucoup !


    J'ai également quelques questions concernant l'exécution d'une macro.
    - Lorsque je souhaite créer une macro ajout d'élève, je veux vérifier que tous les champs du formulaire sont bien remplis. J'utilise la syntaxe suivante :

    Si [Formulaires]![Formulaire Ajout d'élève]![nom élève] Est Null alors
    ZoneMessage et tout le blaba

    Si [Formulaires]![Formulaire Ajout d'élève]![nom élève] Est Null
    Arrêt Macro

    Et lorsque je fait ça, rien ne se passe, les champs du formulaire ne sont pas vérifiés du tout !...

    - Ensuite, j'essaye de vérifier si je n'ai pas déjà rentré un élève dans ma base de donné, c'est pourquoi j'utilise la fonction rechdom de la façon suivante :

    RechDom("[nom-élève]";"Elève";"[nom-élève]= Formulaires![Formulaire Ajout d'élève]![nom-élève] AND [prénom-élève]= Formulaires![Formulaire Ajout d'élève]![Prénom élève]") Est Pas Null Alors
    ZonMessage et le blabla

    RechDom("[nom-élève]";"Elève";"[nom-élève]= Formulaires![Formulaire Ajout d'élève]![nom-élève] AND [prénom-élève]= Formulaires![Formulaire Ajout d'élève]![Prénom élève]") Est Pas Null
    Arrêt Macro


    Pourriez vous m'aider et m'aiguiller quelque peu ?


    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 756
    Points : 57 605
    Points
    57 605
    Billets dans le blog
    42
    Par défaut
    bonjour,

    Citation Envoyé par Pokky Voir le message
    => j'ai notamment des doutes concernant la pertinence de la création de deux tables différentes : ville-élève et ville-professeur.
    j'ai fait ce découpage car j'ai l'intention par la suite d'utiliser ces deux tables pour créer des requêtes m'indiquant quels sont les profs qui enseignent dans la ville d'un élève.. par exemple. Mais je doute beaucoup !
    En effet une seule table suffit : Ville(idVille(numeroAuto), NomVille,CPVille).
    En France, il peut y avoir plusieurs communes pour un même code postal, donc le CP n'est pas une bonne clé primaire.

    Je regarde la suite...

  3. #3
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Bonsoir,

    Qques remarque sur le mcd dans le fichier attaché.
    Cordialement,
    Fichiers attachés Fichiers attachés

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 756
    Points : 57 605
    Points
    57 605
    Billets dans le blog
    42
    Par défaut
    le choix de la clé primaire sur les 3 champs de la table Choix n'est sans doute pas judicieux:

    Choix( CodeEleve, CodeMatiere, NbrJoursEffectifsCours, ...)

    On ne voit pas bien pourquoi un même élève ne pourrait pas choisir une deuxième fois la même matière avec le même nombre de jours effectifs, à moins de conditions particulières...

    Choix(CodeChoix(Numero auto), CodeEleve, CodeMatiere, NbrJoursEffectifsCours,...)
    me semble plus pertinent.

    [Edit]...Avec en plus les remarques de Philippe, que je salue au passage, voilà de quoi progresser[/edit]

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 756
    Points : 57 605
    Points
    57 605
    Billets dans le blog
    42
    Par défaut
    Dans la table Choix je vois un champ [Nbr-heures-de-cours-réalisés], mais le modèle ne permet pas de savoir avec quel prof (car il peut y avoir plusieurs prof pour une même matière). Bizarre...

    - Lorsque je souhaite créer une macro ajout d'élève, je veux vérifier que tous les champs du formulaire sont bien remplis.
    Tu peux faire ça sans code. Em mode création de table, tu mets la propriété du champ "Null interdit" à "oui" puis "chaîne vide autorisée" à "Non" si c'est un champ Texte.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour vos précieux conseils ! J'ai essayé de les prendre en compte le mieux possible.

    Il me reste néanmoins quelques interrogations

    - tout d'abord une basique mais dont la réponse me fait défaut : créer une entité ville reliée à l'entité élève ne pose pas de problème lorsque j'indique le code postal du professeur ? Si jamais je veux la ville du professeur, alors que la table professeur n'est pas directement reliée à la table ville, est-ce possible ?

    - en ce qui concerne la création d'une nouvelle table disponibilité, je ne raisonne ici pas en date mais en jour (par exemple le lundi, mardi...). La création de cette table est elle toujours pertinente ?
    =>Si c'est le cas je ne comprends pas très bien pourquoi alors.. pourriez-vous m'éclairer ?

    - concernant la table choix j'ai quelques problèmes : d'une part comme mon numero élève est un numéro auto je ne peux pas mettre de codechoix en auto..
    d'autre part j'ai compris le problème de logique présent dans le nombre de cours réalisés de la table choix (merci !). Je reconnais que je n'avais pas vu la chose sous cet angle : j'avais réfléchi en partant de l'élève, pour moi il ne choisissait que la matière et ensuite en fonction des professeurs libres de son niveau on lui en attribuait un, et donc la facturation horaire allant avec...
    => est ce que je me trompe complètement et dans ce cas, dois-je recréer un modèle différent pour intégrer ce nombre de cours en fonction du professeur ?

    - enfin pour les critères "null interdit" et "chaine vide autorisé", je n'ai malheureusement pas le droit de les utiliser dans le cadre de cette modélisation... je dois donc absolument passer par des vérifications dans la macrocommande !


    Je vous remercie en tout cas pour vos réponses rapides et précises !

  7. #7
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Bonsoir,

    si je comprend bien, tu souhaites enregistrer les jours ou un prof est disponible(Lundi,mardi, etc...)
    Le mcd attaché te conviendra peut être, car il permet d’enregistrer autant de jours de dispo que nécessaire, et pas seulement 3, comme dans le schéma d'origine.
    La table DISPO te permet d'enregistrer tous les jours de la semaine.
    La table PROF_DISPO te permet d'enregistrer pour un prof, ses disponibilités, une disponibilité étant un couple {ID_PROF, ID_DISPO}.
    La table dispo te sert également de table de référence pour alimenter une liste déroulante.

    Cordialement,
    Images attachées Images attachées  

  8. #8
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Quant à la table VILLE, oui, il faut l'attacher aux tables PROF et ELEVE par l'intermédiaire de clés étrangères, comme indiqué dans le mcd joint.

    Là aussi, la table VILLE pourra te servir de table de référence, apte à alimenter une liste déroulante de choix.

    Quant à la table choix, je laisse Fabien, que je salut aussi , t'apporter d'autres explications.

    Cordialement,
    Images attachées Images attachées  

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ces réponses et pour votre temps !

    J'ai modifié, comme vous me l'avez proposé, mon modèle. Cf. pièce jointe.
    Il est beaucoup plus "dense" que ce à quoi je m'attendais ! Je n'imaginais pas du tout ça comme ça. Merci de m'avoir aiguillée.

    Pourriez vous me dire si ce nouveau modèle est cohérent ?

    Merci d'avance !
    Fichiers attachés Fichiers attachés

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 756
    Points : 57 605
    Points
    57 605
    Billets dans le blog
    42
    Par défaut
    Bonjour,

    Ça prend bonne tournure , il reste encore une espace dans [Dispo prof]

    - enfin pour les critères "null interdit" et "chaine vide autorisé", je n'ai malheureusement pas le droit de les utiliser dans le cadre de cette modélisation...
    Quoi !! En vertu de quel droit, une telle interdiction ?! Je n’y crois pas, sûrement l’œuvre d’un prof retors et pervers, qu’il passe ici s’il ose

    Enfin bon, on verra cela quand les tables seront d’équerre. Il faut faire cela obligatoirement avec les macros ou bien le langage VBA, plus souple, est-il aussi interdit ?

    d'autre part j'ai compris le problème de logique présent dans le nombre de cours réalisés de la table choix (merci !). Je reconnais que je n'avais pas vu la chose sous cet angle : j'avais réfléchi en partant de l'élève, pour moi il ne choisissait que la matière et ensuite en fonction des professeurs libres de son niveau on lui en attribuait un, et donc la facturation horaire allant avec...
    => est ce que je me trompe complètement et dans ce cas, dois-je recréer un modèle différent pour intégrer ce nombre de cours en fonction du professeur ?
    On ne connait pas le périmètre de ton application donc il est difficile de dire s’il manque quelque chose au modèle. Pour le moment, on est en mesure de connaître les choix de l’élève, la disponibilité de chacun, les préférences géographiques. Si tu dois gérer aussi la partie facturation, il manque au moins les éléments sur les cours effectivement réalisés. Par exemple,
    Cours(CodeCours(Numéro auto), #CodeChoix, #codeProf, DateDebut, DateFin, nbHeuresPrevues, nbHeuresRealisees, statutCours, …)
    Table qui permet également de voir les disponibilités des profs.
    (Éventuellement pour un choix, il peut y avoir plusieurs cours si le cours débute avec un prof et se termine avec un autre en remplacement par exemple.)

Discussions similaires

  1. Questions sur le document "Utiliser Windows Media Player en VB et VBA"
    Par Nanonnien dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/11/2014, 17h42
  2. Question sur les bases : utilisation d'un tableau
    Par TabrisLeFol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2009, 12h37
  3. Réponses: 2
    Dernier message: 01/12/2009, 12h55
  4. Réponses: 8
    Dernier message: 17/07/2007, 11h33

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