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

Requêtes et SQL. Discussion :

Entrer grâce à un formulaire des données dans 2 bases liées par une relation « un à plusieurs »


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 14
    Points
    14
    Par défaut Entrer grâce à un formulaire des données dans 2 bases liées par une relation « un à plusieurs »
    Bonjour à tous,

    Je suis actuellement en train de créer une Base de données sous Access 2010 pour stocker des données relatives à des étudiants. Il s’agit de ma 1ère base et je rencontre des problèmes que je n’arrive pas à résoudre. Si vous pouviez me donner votre avis, j’en serai ravie.

    Voici le contexte :
    Pour éviter la redondance d’information (du fait de la dépendance fonctionnelle entre les champs code postal et ville ) j’ai séparé mes champs en 2 tables :
    - Table Etudiant (appelée Etu) contenant :
    P# : le numéro de la personne (P1, P2,…)
    E# : son numéro étudiant (CLE Primaire)
    ENom : son nom
    CP : son code postal
    Dipl : le dernier diplôme obtenu
    - Table répertoriant les couples CP-Ville (appelée CV)
    CP : code postal (CLE Primaire)
    Ville : ville associée au code postal

    Les tables sont liées au niveau du champ « CP » par une relation « un à plusieurs », et le côté « un » de la relation est pour la table Etu.

    Je souhaite que la base puisse être utilisée par un utilisateur quelconque, et donc que l’enregistrement des données se fasse grâce à un formulaire. J’ai créé un formulaire avec tous les champs précédents sauf le champ « CP » de la table « CV ».

    L’enregistrement des données pour un étudiant est possible que si son code postal existe déjà dans la table CV. Pour cela je m’y prends ainsi :
    1) Entrer des données souhaitées pour un étudiant dans le formulaire
    2) Avant de cliquer sur le triangle noir pour passer à un autre enregistrement, on clique sur un bouton (que l’on a créé dans le formulaire) qui vérifie si le couple CP-Ville existe déjà dans la table CV, et si ce n’est pas le cas, le couple est ajouté (avec une requête d’ajout) dans la table CV.
    3) On peut ainsi enregistrer les données et passer à l’enregistrement suivant

    C’est dans la mise en pratique du 2) que j’échoue, est-ce réellement possible d’utiliser une fonction recherche ou une requête qui vérifie, avant toute étape d’enregistrement, si ce qui a été entré dans la case CP du formulaire existe déjà ?

    Ce que je n’arrive pas à faire c’est qu’il s’agit d’un enregistrement courant (porte-il un nom générique pour l’utiliser comme argument d’une fonction par exemple ?) ; et non pas d’une valeur connue que l’on peut chercher (si j’ai bien compris) à l’aide de la fonction RechDom().

    J’espère avoir expliqué clairement les choses (faites moi signe pour toute précision supplémentaire).
    Je vous remercie par avance de votre aide,
    Sophie)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    si les étudiants sont en France, il y a un problème majeur dans ta description, c'est qu'il existe pour un même code postal un nombre non déterminé de communes et/ou lieu dits, de même, une commune peut avoir plus d'un code postal.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 14
    Points
    14
    Par défaut
    Merci ilank pour ton aide si rapide

    il s'agit d'étudiants toute nationalité confondue, donc oui en particulier il peuvent être français.
    si par contre je mets le couple (CP,Ville) comme clé primaire dans la table CV, je résouds le problème, non ?

    si tu as le temps : au sujet de l'étape 2) de l'enregistrement dans le formulaire (décrite dans mon 1er message), qu'en penses-tu ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Voici un lien vers la qui indique comment renseigner la liste déroulante si une valeur est manquante :

    http://access.developpez.com/faq/?page=zdl#AbsDsListe

    Bonne lecture

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 14
    Points
    14
    Par défaut
    merci Jeannot45 pour ta réponse ! Je vais donc étudier cette fonction VBA.

    Pour information, je voulais savoir si le recours à VBA fait partie intégrante d'Access ou souvent nécessaire pour utiliser Access ? Comme il m'est demandé de faire un projet sous Access, je ne souhaite pas "contourner" le problème.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    en complément, un tuto sympa concernant les codes postaux.

    Pour information, je voulais savoir si le recours à VBA fait partie intégrante d'Access ou souvent nécessaire pour utiliser Access ? Comme il m'est demandé de faire un projet sous Access, je ne souhaite pas "contourner" le problème.
    Si on souhaite réaliser une application évoluée et conviviale, VBA est incontournable.

    bon courage,

    philippe

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 40
    Points : 14
    Points
    14
    Par défaut
    merci beaucoup phiben

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2008, 20h52
  2. Comment inserer des données dans la base?
    Par Kurabong dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/07/2006, 09h31
  3. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14
  4. [MySQL] supprimer des données dans la base
    Par Commodore dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/02/2006, 02h43
  5. question sur le rafraichissement des données dans la base
    Par vbcasimir dans le forum Bases de données
    Réponses: 8
    Dernier message: 06/06/2005, 12h44

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