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 :

remplir automatiquement tous les champs d'une table


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut remplir automatiquement tous les champs d'une table
    bonjour,

    suite à un premier post, j'ai modifié la structure d'une de mes tables.

    Avant j'avais (entre autres) :

    tblArticles => Nomarticle, nomfournisseur
    tblprojet => numéroprojet,nomarticle,nomfournisseur

    maintenant j'ai :

    tblArticles => Nomarticle, nomfournisseur,Numeroauto
    tblprojet => numéroprojet,nomarticle,nomfournisseur,Numéroarticle


    Je voudrais que le champs tblprojet.numéroarticle qui vient d(être créé soit rempli en fonction de tblarticles.numéroauto.

    En effet, maintenant chaque article a un index (numeroauto). Il faut donc que cet index se retrouve dans le champs numéroarticle de la table tblprojet.

    De ce fait, je dois faire une procédure ou macro qui en fonction de nomarticle et nomfournisseur (il faut les 2 !!!!), remplissent le numéroarticle de tblprojet.

    comment faire ?

    merci!

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Bonjour !

    Je ne comprends pas vraiment pourquoi tu mets les champs nomarticle,nomfournisseur dans la table tblprojet

    Pourquoi ne pas faire :

    tblArticles => Nomarticle, nomfournisseur,Numeroauto
    tblprojet => numéroprojet,Numeroauto ,Numéroarticle

    en appelant Numeroauto NumArticle, par exemple.

    De plus,
    tu as surement une table fournisseurs, pourquoi ne pas renseigné le numéro de ton fournisseur dans la table article ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Celia1303
    Bonjour !

    Je ne comprends pas vraiment pourquoi tu mets les champs nomarticle,nomfournisseur dans la table tblprojet

    Pourquoi ne pas faire :

    tblArticles => Nomarticle, nomfournisseur,Numeroauto
    tblprojet => numéroprojet,Numeroauto ,Numéroarticle

    en appelant Numeroauto NumArticle, par exemple.

    De plus,
    tu as surement une table fournisseurs, pourquoi ne pas renseigné le numéro de ton fournisseur dans la table article ?
    Oui c'est justement ce qui est prévu .. mais pour l'instant la table a déjà été rempli (il y a déjà près de 800 articles).. il me faut donc une procédure automatisée pour remplir le champs numéroarticle de la table projet en se servant des champs nomarticle et fournisseur actuels (par lasuite, je pourrais les supprimer.)

    comment faire ceci ??

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Si j'ai bien compris ...
    Tu peux peut etre essayé de rajouter simplement un champ NumAuto dans la table T_Article ( ca sera la clé primaire).

    Puis dans la table T_Projet, tu ajoutes un champs de type numérique (un entier), je l'apel NumArt.

    Ensuite, faire une requete de mis à jour :

    Update T_Projet Set NumArt = T_Article.NumAuto
    where T_Article.NomFourn = T_Projet.NomFourn
    and T_Article.NomArt = T_Projet.NomArt;

    Qu'est ce que tu en penses?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Oui celia1303, c'est bien ca que je veux faire néanmoins, cela ne va pas car il me demande la valeur du parametre "[Articles/Matériels].[numero]", donc il ne sait pas lequel prendre....


    voici le code reel avec mes noms de tables (je sais les conventions ne sont pas respectées mais une révision typographique totale est prévue très prochainement.. ):

    UPDATE
    [Fiche Projet-Détails Projet]
    SET
    NumeroArticle = [Articles/Matériels].[numero]
    WHERE
    [Articles/Matériels].[Nom Fournisseur]=[Fiche Projet-Détails Projet].[Nom fournisseur]
    And
    [Articles/Matériels].[Nom Article/matériels]=[Fiche Projet-Détails Projet].[Référence article 1];

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    tblArticles => Nomarticle, nomfournisseur,Numeroauto
    tblprojet => numéroprojet,nomarticle,nomfournisseur,Numéroarticle
    Avec cette structure, un projet n'a toujours qu'un seul article

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    ca correspond à quoi éxactement Articles/Matériels ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Tofalu
    tblArticles => Nomarticle, nomfournisseur,Numeroauto
    tblprojet => numéroprojet,nomarticle,nomfournisseur,Numéroarticle
    Avec cette structure, un projet n'a toujours qu'un seul article
    non non !! car en réalité, la table projet a aussi un champs index qui est la clé primaire. Donc ainsi on peut avoir plusieurs articles a un projet. (tous les articles dont le champs numéroprojet = _____).

    mais pourquoi ma requete de mise a jour ne marche-t-elle pas ?

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    A ça c'est une grave erreur de conception.

    La table projet correspond aux projets. Une ligne par projet pas plus pas moins !

    La table article, idem pour les articles.

    Par contre tu auras une table faisant le lien entre les articles et les projets.
    Merci de consulter les tutoriels d'initiation :

    http://access.developpez.com/cours

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Oui, désolé, je me suis encore mal exprimé.

    en fait j'ai une table Généralité projet qui contient les données générales du projet et du client. Il y a bien un enregistrement par projet.

    ensuite j'ai la table que j'ai précédemment appelé projet qui en fait dans ma base est appelée détailprojet et qui fait le lien avec la table article. c'est de cette table que je parle.

    mais sans parler de la conception de la base qui va être revue tout comme la syntaxe (d'autres parties encore pire que celle la !!! ), j'aimerai savoir ce qui cloche dans ma requete de maj... l'instruction UPDATE est elle mal employée ??

  11. #11
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    Je comprends plus rien

    Tu peux donner le schéma relationnel de tes tables ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Celia1303
    Je comprends plus rien

    Tu peux donner le schéma relationnel de tes tables ?
    oui je vais essayer mais justement si je fais cette mise a jour c'est parce que cette base ne respecte aucune convention et je suis en train de la reprendre. c'est pour ca que je voulais faire la requete de maj, afin de transferer des données pour pouvoir etablir une nouvelle liaison qui ne peut s'établir correctement (données inexistante d'un coté de la liaison).

    je vais essayer de vous mettre le schéma avant et apres pour que vous compreniez mieux.

    merci pour votre aide!

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    voila le detail de mon probleme (bien entendu, il y a d'autres champs que j'ai supprimés pour plus de clarté : prix, livraison,... car ils ne servent à rien pour le problème).

    au début j'avais ca :



    j'ai donc ajouté un champs index a la table article, qui en devient la clé primaire. De ce fait, dans la table projetarticle, je veux supprimer les deux champs nomarticle et nomfournisseur et les remplacer par le champs numéroarticle. mais avant ceci, je dois remplir le champs numéroarticle que je viens de créer mais qui est vide et c'est pour ca que j'utilise une requete UPDATE.

    ce que je voudrais a la fin :



    voila, j'espere que ca vous en dit plus !!

    merci d'avance pour votre aide!

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 42
    Points
    42
    Par défaut
    quelqu'un a une idée ??

  15. #15
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Bonjour à toi ...

    Voici un conseil pour la modèlisation de ta base ... à toi de voir si tu préfère garder ta structure ou alors si tu préfère prendre celle que je te propose :

    TB_ARTICLES
    pk_article (NuméroAuto)
    nom_article (Texte)
    fk_fournisseur (Numérique) --> Clé étrangère qui fait la liaison entre la table TB_FOUNISSEURS et la table TB_ARTICLES grâce à la clé primaire de la table TB_FOUNISSEURS et grâce à la clé étrangère de la table TB_ARTICLES.

    TB_FOURNISSEURS
    pk_fournisseur (NuméroAuto)
    nom_fournisseur (Texte)
    prenom_fournisseur (Texte)
    fk_ville (Numérique) --> Clé étrangère qui fait la liaison entre la table TB_VILLES et la table TB_FOURNISSEURS grâce à la clé primaire de la table TB_VILLES et grâce à la clé étrangère de la table TB_FOURNISSEURS


    TB_VILLES
    pk_ville (NuméroAuto)
    np_ville (Texte)
    nom_ville (Texte)

    TB_PROJETS
    pk_projet (NuméroAuto)
    date_projet (Date)
    commercial --> Je ne comprends pas ce que tu entends par ce champ ... dsl...

    TB_ASSOCIATIVE
    pk_fk_projet (Numérique) --> Clé étrangère qui fait la liaison entre la table TB_PROJETS et la table TB_ASSOCIATIVE grâce à la clé primaire de la table TB_PROJETS et grâce à la clé étrangère de la table TB_ASSOCIATIVE
    pk_fk_article (Numérique) --> Clé étrangère qui fait la liaison entre la table TB_ARTICLES et la table TB_ASSOCIATIVE grâce à la clé primaire de la table TB_ARTICLES et grâce à la clé étrangère de la table TB_ASSOCIATIVE
    quantite (Numérique)
    La clé primaire de cette table est une clé primaire qui contient 2 champs le champ : pk_fk_projet et le champ : pk_fk_article. Pour modèliser cela sous access lors de la création de table, il faut prendre les 2 champs en invesion vidéo et cliquer sur la petite clé.

    TB_CLIENTS
    pk_client (NuméroAuto)
    nom_client (Texte)
    prenom_client (Texte)
    date_de_naissance_client (Date)
    rue_client (Texte)

    En ce qui concerne ton autre problème je ne peux malheureusement pas t'aider ....

    Mais revoie un peu ta modèlisation ...

    A tout bientôt ...

    Snoop's

    PS : Voici la légende de mes termes :

    PK : Clé primaire.
    FK : Clé étrangère.
    PK_FK : Clé primaire composé de plusieurs clé étrangère.
    Liaison : Une clé primaire est toujours relié à une clé étrangère c'est à dire : une FK est toujours relié à une PK. en générale elle porte le même nom, il y a juste le PK ou le FK qui change ...

    ++

Discussions similaires

  1. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22
  2. affichage de TOUS les champs d'une table
    Par babulior dans le forum ASP
    Réponses: 6
    Dernier message: 28/06/2005, 15h33
  3. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 10h31
  4. Retrouver tous les champs d'une table
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2004, 20h40
  5. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 17h11

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