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 :

Somme de plusieurs champs , bourrée de conditions .. ?


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut Somme de plusieurs champs , bourrée de conditions .. ?
    Bonjour

    Me voici avec un sujet similaire au precedent (pour les habitués qui m'ont repérés)
    Je cherche à remplir encore une fois un champs qui sera une combinaison de plusieurs, mais bourré de conditions ... et là, j'ai bien peur que ça devienne complexe !! mais je ne me decourage pas et je pense que l'histoire est possible et qu'une bonne âme va arriver à trouver ce que je cherche.

    Bon ... la requête puise (ou cible) dans deux tables. auteurs liste les auteurs et Liste_complete liste les standards (de Jazz)
    Le but est de lister dans le champs standards de la table auteurs tous les standards qu'ils ont signés, et avec qui ils l'ont signés (le cas échéant, parfois seuls mais souvent en co-creation avec un à deux autres, egalement listés)

    Donc,

    Ainsi, le champs nom de la table auteurs nous donne les occurrences à chercher dans le champs auteurs de la table Liste_complete.
    Il existe trois options cumulables pour chaque auteur. Aucune n'est sûre d'arriver (option null possible pour chaque) mais il y a forcément 1, 2, ou les 3 options :


    1 L'auteur est seul dans Liste_complete.auteurs ... de 0 à n fois. (l'auteur est donc seul un nombre n de standards de la liste complete) : ajouter, par ordre alphabetique, le(s) nom(s) (prendre dans Liste_complete.title ) des (du) n standard(s) dans le champs cible auteurs.standards, sous la forme :


    Commencer par
    "<p>"
    Puis on y ajoute les standards
    <a href=""standards\" & [Liste_complete].[pseudo] & ".gif"" target=""_blank"" >" & [Liste_complete].[title] & "</a>" ... et cela n fois, donc, avec chaque standard (si il y en a plusieurs), séparés par " / ".
    Finir par
    "</p>"

    2eme option : l'auteur co signe avec un autre auteur (tous sont correctement listés - avec la même orthographe - dans la table auteurs) . Il est donc present - mais accompagné - dans la case Liste_complete.auteurs sous une forme : nom1, prenom1 / nom2, prenom2
    Là encore, il y a de 0 à m standards signés avec cet auteur2, et il y a r combinaisons possibles avec un autre auteur (ou +) (l'auteur 1 peut avoir créé n standards avec auteur 2, mais il peut aussi avoir créé n standards avec un autre auteur2, et cela un nombre r de fois). Dans chaque cas (de co signature), il faut commencer par ajouter le second auteur :

    "<p>With" & [auteur.nom2] & " :<br>"
    et ensuite ajouter les n standards de la même maniere que dans l'option 1 (ne pas commencer par <p>)
    recommencer m fois l'option si, en effet, il existe une ou plusieurs autres "bi-signature" avec un auteur.nom3 ou 4 ...

    3 Enfin, il peut y avoir 3 auteurs (deux autres co auteurs). Exactement la même chose (n standards "tri-signés" avec eux multiplié par n possibilités de "trio"). Bien sûr, le texte intermediaire change un peu et devient :
    "<p>With" & [auteur.nom2] & " and " & [auteur.nom3] & " :<br>"

    Il n'y a pas d'option à + de 3 auteurs sur le même standard...

    Ouf ... je crois m'en être sorti ... mais je plains celui qui va essayer de cogiter ce code qui m'eviterait de nombreuses heures de taf !

    Merci d'essayer.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pourrais-tu poster une image de ton modèle de données (fenêtre des relations) ?

    Pourrais-tu mettre un exemple de ce que tu veux obtenir (sans le balises HTML, juste grosso modo ce que cela va donner) ?

    Ex un truc du genre : Duck ELINGTON, Louis AMSTRONG, Petite Fleur Bleu. (J'ai mis n'importe quoi pour l'exemple, je suis meilleur en BD qu'en Jazz :-).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Et merci de préciser qu'elle Access tu utilises.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Pour commencer, j'ai access 2007 . dsl pour l'oubli

    Citation Envoyé par marot_r Voir le message
    Pourrais-tu poster une image de ton modèle de données (fenêtre des relations) ?
    Euh ... qu'appelles tu "fenêtre des relations" ?
    A noter qu'il n'y a pas de relations définies entre les deux tables. A noter aussi qu'il n'y a qu'elles ... et diverses requêtes et essais de requêtes.

    Citation Envoyé par marot_r Voir le message
    Pourrais-tu mettre un exemple de ce que tu veux obtenir (sans le balises HTML, juste grosso modo ce que cela va donner) ?
    Oui, ça je peux

    Prenons le premier auteur de la table du même nom : Adair, Thomas. Quand je regarde dans l'autre table, je vois qu'il n'a pas créé de morceau tout seul. Il n'a "que" quatre standards qu'il a écris en coopération avec un certain Dennis, Matt.
    Ainsi, au final, je dois avoir (sans le html) dans le champs Standards de l'enregistrement Adair, Thomas :

    With Dennis, Matt :
    Everything happens to me / Night we called it a day / Violets for your furs / Will you still be mine ?


    A noter que Dennis, Matt, qui n'a pas d'autre oeuvre non plus, aura exactement la même chose, en remplacant son nom par celui d'Adair apres le "With"

    Autre exemple :

    Van Heusen, Jimmy
    Auteur en solo de 2 oeuvres, 2 autres avec Cahn, Sammy et 1 avec Mercer, Johnny

    Ca va donner (les oeuvres en solo en premier) :

    Here's that rainy day / I thought about you
    With Cahn, Sammy :
    Second time around / But beautiful
    With Mercer, Johnny :
    Darn that dream


    Merci pour l'aide !

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    OK, merci pour l'exemple.

    Peux-tu poster la structure de ta table ?

    Euh ... qu'appelles tu "fenêtre des relations" ?
    A noter qu'il n'y a pas de relations définies entre les deux tables.
    L'intérêt d'une base données relationnelle c'est justement les relations qui te permettent de "montrer" comment tes éléments d'information de base (les tables) sont reliées les uns aux autres.

    Dans ton cas on s'attendrai à trouver quelque chose comme :

    tblAuteur Donne la liste des auteurs
    ClefAuteur
    Autres infos

    tblStandard Donne la liste des standards
    ClefStandard
    Autres infos

    tblAuteurStandard Donne la liste des auteurs des différents standards.
    ClefAuteurStandard
    ClefAuteur
    ClefStandard

    • En relation avec tblAuteur sur ClefAuteur
    • En relation avec tblStandard sur ClefStandard


    À partir cela il est relativement facile de créer une liste de standard avec leurs auteurs ou une liste d'auteurs avec leurs standards.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Aïe ... le problème que tu soulèves est que je n'ai pas du tout les bases.
    Pourtant, depuis plus de dix ans, j'utilise access pour plein de trucs (exportation sql vers mysql, requetes sql pour des mises à jour, liste de chansons pour la scene, avec les paroles, etc ...)
    mais en total autodidacte, sans jamais utiliser les cles primaires ni les relations, par exemple ! J'utilise les tables pour l'efficacité de la recherche, du filtre , les formulaires pour visualiser les infos et, depuis plus recemment, les requêtes pour mettre des nouveaux champs à jour. ... mais pas de clé ni de jointure. et quand j'essaie de lire un tuto censé aborder les bases ... je suis largué avant la fin du premier chapitre !
    je n'arrive pas à en trouver un pour les "super nuls". J'ai un blocage total avec le vocabulaire utilisé dans access et ses tuto.

    Pourtant, il me suffirait de quelques explications simplissimes sur les relations et clés primaire (pour commencer)

    Bon ... je crée un autre sujet ... pour essayer de comprendre ces bases auxquelles j'echappe depuis des annes. Je t'y invite, si tu en a la patience.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Bon, ca y est, ma base est devenue conforme, avec des champs id et les relations. Voir la capture
    Je relance le sujet en le resumant :

    Je voudrais maintenant obtenir la liste des standards de chaque auteur , et donc remplir la table AuteurStandard, pour le moment vide, sachant que
    - plusieurs auteurs (de 1 à 3) co-signent souvent des standards. Ainsi, il n'y a pas forcement une correspondance "exacte" entre le champs Auteurs.nom et Standards.auteurs puisque , dans ce dernier, les auteurs sont presents soit sous la forme Nom1, Prenom1 (quand ils signent seuls) soit sous Nom1, Prenom1 / Nom2, Prenom2 quand ils sont deux à signer, ou enfin Nom1, Prenom1 / Nom2, Prenom2 / Nom3, Prenom3 ... quand ils sont trois (le max). Bref, les auteurs existent souvent en paires ou en trio, ce qui, evidemment, complique la liste des auteurs-standards

    Mon but, + encore que de remplir la table AuteursStandards, c'est d'obtenir , dans le champs Auteurs.standards la liste des standards (et des co auteurs) sous cette forme (oublions le code html cité au debut du sujet) :

    Standard1 / Standard 2 //en premier la liste des standards signés seulement par l'auteur (s'il y en a). Tous les standards où la correspondance entre Auteurs.nom et Standards.auteurs est exacte
    With NomAuteur2 : // ici le nom d'un auteur avec qui il a cosigné (si il y en a) Où on le trouve donc "à l'interieur" du champs Standards.auteurs. Auteur1 -> Auteur1 / Auteur2 (ou Auteur2 / Auteur1)
    Standard3 / Standard 4 ... //le nom de tous les standard cosigné avec cet auteur 2.
    With NomAuteur3 // le nom d'un troisieme auteur avec qui il a egalement co signé , s'il y en a.
    Standard 5 / Standard 6 ... // Le nom des standards co signés avec l'auteur 3
    ... (eventuellement d'autres combinaisons en duo avec un autre auteur)
    With NomAuteurX & NomAuteurY // Si l'auteur a cosigné avec deux autres auteurs (le max), mettre ici le nom de ces deux auteurs
    Standards // Y mettre les standards signés par ce trio
    .... (éventuellement si l'auteur a cosigné avec une autre combinaison trio)

    Voila ... Quelqu'un a t'il une idée ?

    Nom : capture_access2.gif
Affichages : 153
Taille : 10,9 Ko

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Dans la table AuteurStandard, il va falloir créer autant de lignes que tu as d'auteurs pour un standard donné.

    La solution qui me parait la plus directe est que

    1. Tu crées un formulaire basé sur la table des standards.
    2. Puis que tu crées un sous-formulaire lié basé sur la tables AuteurStandard.
      Grâce aux propriétés Champs Père/Champs Fils, Access va automatiquement associer le standard à l'enregistrement (la ligne) standard en cours.
      Pour faciliter la saisie, tu voudras sans doute utiliser une liste déroulante pour sélectionner les auteurs.


    Il y a des assistants pour toutes ces étapes, donc c'est assez facile à faire.

    Ensuite pour présenter tes résultats, tu sembles avoir la notion d'auteur principal (Nom1, Prenom1) d'auteur associé.
    Si oui, il faudrait ajouter à ta table AuteurStandard un champ booléen (oui/non) du genre EstPrincipal.
    Quand tu choisi cet auteur tu coches cette case, pour les autres tu la laisses vide.

    Cela va te permettre d'identifier qui vient en premier dans la liste.

    Est-ce que tu présentes les autres auteurs en ordre alphabétique ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Merci de ta reponse, marot
    Je vais la cogiter et sans doute avoir des questions

  10. #10
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Aïe, il y a beaucoup que je comprends pas, à commencer par le but de la manoeuvre par rapport à ce que je cherche, cad remplir un champs nouveau de la table des auteurs (mais un seul champs par auteur), avec tous les standards qu'il a signé et avec qui le cas échéant ... (le titre du sujet est "somme de plusieurs champs ...)
    Je ne dis pas que tu es hors sujet mais bien que je ne comprends pas encore comment tu y arrives

    Mais allons y étape par étape
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Dans la table AuteurStandard, il va falloir créer autant de lignes que tu as d'auteurs pour un standard donné.
    Apres beaucoup de reflexion ... je crois comprendre que ... pour trouver le nombre de lignes je dois faire : (nombre de standards à 1 auteur) + (nombre de standards à deux auteurs) x 2 + (nombre à 3 auteurs) x3 ... ? C'est bien ça ?
    Admettons que j'en ai 3000, comment je fais pour créer autant d'enregistrements ?

    La solution qui me parait la plus directe est que

    1. Tu crées un formulaire basé sur la table des standards.
    2. Puis que tu crées un sous-formulaire lié basé sur la tables AuteurStandard.
      Grâce aux propriétés Champs Père/Champs Fils, Access va automatiquement associer le standard à l'enregistrement (la ligne) standard en cours.
      Pour faciliter la saisie, tu voudras sans doute utiliser une liste déroulante pour sélectionner les auteurs.
    Sous formulaire ?? Peux tu prendre le temps de m'expliquer ce que c'est .. C'est le formulaire d'un formulaire ? Lié à quoi ? Au premier formulaire ? Aïe ... je suis perdu
    Apres beaucoup de reflexion, il me semble comprendre que tu voudrais que je crée un moyen de consulter facilement les standards d'un auteur, exact ? Mais popurra t'on voir avec quel autre auteur ?
    Et puis, une fois encore,comment arriver à écrire tout cela dans un champs (sous une forme speciale citée + haut). La reponse est elle là ? :

    Ensuite pour présenter tes résultats, tu sembles avoir la notion d'auteur principal (Nom1, Prenom1) d'auteur associé.
    Si oui, il faudrait ajouter à ta table AuteurStandard un champ booléen (oui/non) du genre EstPrincipal.
    Quand tu choisi cet auteur tu coches cette case, pour les autres tu la laisses vide.
    Cela va te permettre d'identifier qui vient en premier dans la liste.
    Par "présenter les resultats", veux tu dire les afficher pour les visualiser ... ou les écrire quelque part ?
    Pour auteur principal et associé ... hum ... Tu ne veux pas dire que, lorsqu'il y a plusieurs auteurs sur un standard, un est principâl et l'autre associé ? car ce n'est pas le cas, bien sûr. Par contre, lorsqu'on prend un auteur (et qu'il devient "principal" parce qu'on le choisit), il a alors, bien sur, des auteurs associés s'il a co-signé des (ou un) standard(s)
    Donc ... le champs boléen, je ne vois pas quand le cocher ...


    Est-ce que tu présentes les autres auteurs en ordre alphabétique ?
    Même ça je ne suis pas sûr de comprendre. Il y a un champs numero auto pour la clé , mais çe n'est pas en rapport avec une liste alpha sur le nom des auteurs. A priori, moi je fais toujours un AZ sur le nom... et j'ai en projet de créer un fichier html (ou plusieurs) avec la liste (alpha) des auteurs en indiquant ses standards et avec qui

    Bon ... je suis une prune !

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bon ... je suis une prune !
    Nope, je n'ai pas suffisamment expliqué c'est tout :-) et j'avais surestimé ton niveau en Access.

    Dans une base de données relationnelle, contrairement à Excel, on fait des listes et des listes de listes et des listes de listes de listes.
    Bref on présente de préférence les données comme une succession de lignes plutôt que de colonnes.

    Oublie mon idée d'auteur principal, je n'avais pas compris ton besoin.

    Je vais reprendre ton exemple :

    Van Heusen, Jimmy
    Auteur en solo de 2 oeuvres, 2 autres avec Cahn, Sammy et 1 avec Mercer, Johnny

    Ca va donner (les oeuvres en solo en premier) :

    • Here's that rainy day / I thought about you
    • With Cahn, Sammy :
      Second time around / But beautiful
    • With Mercer, Johnny :
      Darn that dream


    Ce qu'on va avoir dans les tables c'est :

    tblSandard (Id_Standard, Titre)
    1, Here's that rainy day
    2, I thought about you
    3, Second time around
    4, But beautiful
    5, Darn that dream

    tblAuteur (Id_Auteur, Nom, Prenom)
    1, Van Heusen, Jimmy
    2, Cahn, Sammy
    3, Mercer, Johnny

    tblAuteurStandard (No, Id_Auteur, id_Standard)
    1, 1, 1 (soit 1, Van Heusen, Jimmy, Here's that rainy day)
    2, 1, 2 (soit 2, Van Heusen, Jimmy, I thought about you)
    3, 1, 3 (soit 3, Van Heusen, Jimmy, Second time around) 1 enregistrement pour Van Heusem
    4, 2, 3 (soit 4, Cahn, Sammy, Second time around) 1 enrgistrement pour Cahn
    5, 1, 4 (soit 5, Van Heusen, But beautiful) 1 enregistrement pour Van Heusem
    6, 2, 4 (soit 6, Cahn, Sammy, But beautiful) 1 enrgistrement pour Cahn
    7, 1, 5 (soit 7, Van Heusen, Darn that dream) 1 enregistrement pour Van Heusem
    8, 3, 5 (soit 8, Mercer, Johnny, Darn that dream) 1 enrgistrement pour Mercer

    Comme tu peux le voir : 1, 1 ,1 c'est très significatif pour une machine mais vachement moins pour un humain.
    Pour faciliter la saisie on utilise des formulaires liés à une table ou une requête qu'on appelle une source de données.
    Si un formulaire n'est pas lié, on parle de formulaire indépendant (sous entendu sans source de données).
    Les formulaire liés peuvent être facilement créés en utilisant l'assistant de création de formulaire.
    Pour saisir les données dans une table d'association, on utilise souvent un sous-formulaire lié.
    Soit un formulaire dans un formulaire. Le formulaire contenant le sous-formulaire est appelé formulaire principal.
    Et dans ces formulaire (principal et sous-formulaire), pour faciliter la saisie des Clef, ont utilise des listes déroulantes (combobox en anglasi).

    Là imaginons que tu commences pas associer tes auteurs à leurs standards, cela donne quelque chose comme

    Formulaire frmStandard

    Ici les champs du standard
    Sous-formulaire frmAUteurSandard (champ père : Id_Standard, Champ fils : id_Auteur)

    No
    id_Standard
    id_Auteur,
    • affiché grâce à une liste déroulante. La liste va se basé sur une requête du type
    • Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
      select [tblAuteur].[Id_AUteur], [tblAuteur].[Nom] & "," & [tblAuteur].[Prenom] as [NomPrenom] order by [tblAuteur].[Nom], [tblAuteur].[Prenom]
    • L'assistant de création va te demander quelle est la taille des colonnes affichées et tu vas répondre 0 pour la 1ère.
    • Ce que cela va faire c'est cacher le Id et ne montrer que le NomPrenom.
    • L'utilisateur va choisir Van Heusen et le système va enregistrer 1 dans tblAuteurStandard.

    J'espère que mes explications sont claires mais n'hésite pas à demander des éclaircissements si nécessaire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Apres de nombreuses relectures ...
    Citation Envoyé par marot_r Voir le message
    Comme tu peux le voir : 1, 1 ,1 c'est très significatif pour une machine mais vachement moins pour un humain.
    Jusque là, j'ai bien réussi à suivre
    Pour saisir les données dans une table d'association, on utilise souvent un sous-formulaire lié.
    Euh ... est ce que saisir des données dans la table AuteursStandards fait partie de mon objectif ? je ne perçois plus comment atteindre l'objectif mais je te fait evidemment confiance
    Soit un formulaire dans un formulaire. Le formulaire contenant le sous-formulaire est appelé formulaire principal.
    Et dans ces formulaire (principal et sous-formulaire), pour faciliter la saisie des Clef, ont utilise des listes déroulantes (combobox en anglasi).
    La saisie des clefs ? Pas la peine de te demander déja comment on crée ces listes, j'en suis pas là.

    Je crois qu'il n'y a plus qu'une seule solution. Faire. Créer ces formulaires, outils que j'avais très peu utilisé jusqu'à prèsent (entre autre, il y a les états, dont je ne soupçonne pas le rôle).
    Malheureusement, j'ai bien peur de necessiter une application par étape plus approfondie.

    1 Je suis devant l'assistant formulaire.
    Quels champs ai je besoin de mettre ?

    J'espère que mes explications sont claires mais n'hésite pas à demander des éclaircissements si nécessaire.
    JOui, j'ai compris beaucoup .... faut juste que t'aies la patience et la gentillesse de continuer ..

  13. #13
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pour la création des formulaires :
    sélectionne la table qui t'intéresse.
    Dans le ruban va dans l'onglet créer et choisi "formulaire".
    Access va te créer un formulaire avec tous les champs de la table.
    Ce n'est pas super beau mais c'est très rapide.

    Euh ... est ce que saisir des données dans la table AuteursStandards fait partie de mon objectif ?
    C'est cette table qui va te permettre d'indiquer qui est l'auteur de quoi comme je l'ai mis ici :

    tblAuteurStandard (No, Id_Auteur, id_Standard)
    1, 1, 1 (soit 1, Van Heusen, Jimmy, Here's that rainy day)
    2, 1, 2 (soit 2, Van Heusen, Jimmy, I thought about you)

    3, 1, 3 (soit 3, Van Heusen, Jimmy, Second time around) 1 enregistrement pour Van Heusem
    4, 2, 3 (soit 4, Cahn, Sammy, Second time around) 1 enregistrement pour Cahn

    5, 1, 4 (soit 5, Van Heusen, But beautiful) 1 enregistrement pour Van Heusem
    6, 2, 4 (soit 6, Cahn, Sammy, But beautiful) 1 enregistrement pour Cahn

    7, 1, 5 (soit 7, Van Heusen, Darn that dream) 1 enregistrement pour Van Heusem
    8, 3, 5 (soit 8, Mercer, Johnny, Darn that dream) 1 enregistrement pour Mercer

    Grace à cette table, je peux savoir que "Second time around" a pour auteurs "Van Heusen" et "Cahn".
    Ce qui me permettra de générer le texte :

    With Cahn, Sammy :
    Second time around


    La saisie des clefs ?
    J'ai oublié de dire qu'une "clef" c'est la même chose qu'un identifiant.
    Donc j'aurai du dire la saisie des identifiants car dans la table AuteurStandard, on ne choisi pas tant le standard ou l'auteur que l'identifiant qui lui est associé.
    Il faut voir l'identifiant un peu comme un synonyme de titre ou du nom et prénom.
    C'est la même chose qu'un numéro d'assurance social.

    Il est normal que tu sois un peu perdu. J'ai 20 ans de métier dans les BD et j'ai suivi 2 ans de formations notamment sur la modélisation des données et 1 an rien que sur la conception des bases de données.
    Et dés fois j'hésite encore sur telle ou telle solution.

    N'hésite pas à poser des questions sur les points qui te pose des problèmes.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Merci de tes mots rassurants et de ton aide.

    Je vais peut être te faire répéter, mais le premier formulaire je le crée sur quelle table ? Et ensuite le sous formulaire, je le crée en selectionnant le formulaire principâl ? La liste deroulante se creera t'elle automatiquement ?
    Je m'excuse mais, pour le moment, je ne vois pas tres bien où on va. Je pense que je comprendrai seulement quand j'aurais reussi à faire.

    EDIT Au fait, des listes deroulantes sont apprues sur la table des standards et celle des auteurs
    Pour le moment elles sont vides. Enfin pas tout à fait. Il y a les champs N° et id_auteurs dans celle des standards et celle de N° et id_standards dans celle des auteurs. Mais il n'y a pas de données

  15. #15
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    le premier formulaire je le crée sur quelle table ?
    En fait, il faut que tu crées
    1. un formulaire sur la table standard (frmStandard)
    2. un formulaire sur la table auteur (frmAuteur)


    Un contrôle est un "élément" qu'on met sur le formulaire pour afficher quelque chose.
    Par exemple la zone texte est un contrôle, la liste déroulante en est un autre et les images un troisième type.
    Là dans tes formulaire que tu vas créer avec l'assistant tu vas avoir des étiquettes (qui affichent un texte fixe) et des zones de texte (qui affichent les données).

    Et ensuite le sous formulaire, je le crée en selectionnant le formulaire principal ?
    1. tu sélectionnes le formulaire frmStandard.
    2. dans les contrôles de formulaire tu sélectionnes "Sous-Formulaire"
    3. L'assistant va te faire créer un formulaire, tu vas le baser sur tblAuteurStandard


    La liste déroulante se créera t'elle automatiquement ?
    Non, il va falloir supprimer le contrôle Texte et y ajouter la liste déroulante.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Oups la reponse fut rapide. Entre temps j'ai ajouté un edit au dernier message.

    je dois partir. Il se pourrait même que je n'aie plus mon ordi quelques jours.
    Les explications me semblent claires. je reviens dés que je peux.

    Merci de ta patience et de ta pêrseverance.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par marot_r Voir le message
    En fait, il faut que tu crées
    1. un formulaire sur la table standard (frmStandard)
    2. un formulaire sur la table auteur (frmAuteur)
    Bon, les deux premiers formulaires sont créés. pas de mrobleme

    1. tu sélectionnes le formulaire frmStandard.
    2. dans les contrôles de formulaire tu sélectionnes "Sous-Formulaire"
    3. L'assistant va te faire créer un formulaire, tu vas le baser sur tblAuteurStandard
    Là je ne trouve rien qui s'appelle "sous formulaire" dans le bandeau en haut
    Par defaut j'ai choisi l'assistant création de fomulaire (apres avois selectionné frmstandard)
    Là je choisis AuteurStandard et il me propose les trois champs à importer ... Voilà, j'en suis là

    Non, il va falloir supprimer le contrôle Texte et y ajouter la liste déroulante.
    Donc ça je n'ai pas encore fait.

  18. #18
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Pour ajouter le sous-formulaire il faut entrer en mode modification du formulaire.

    Donc tu sélectionnes frmStanrdard
    Tu cliques droit et tu choisi "Mode Création"
    Là tu vous pouvoir ajouter le contrôle sous-formulaire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    Je ne vois toujours rien avec l'appellation sous formulaire

    Au fait, j'ai access 2007 ...

    Nom : captureaccess.gif
Affichages : 170
Taille : 71,0 Ko

  20. #20
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2017
    Messages : 91
    Points : 16
    Points
    16
    Par défaut
    marot_r, ai je été trop ... "prune" ?
    Suis je abandonné ?
    Tout seul, je ne peux vraiment pas m'en sortir, avec ces sous formulaires. Désolé

Discussions similaires

  1. [AC-2000] Pb somme de plusieurs champs dans état
    Par rankynette dans le forum IHM
    Réponses: 2
    Dernier message: 09/04/2010, 08h25
  2. Réponses: 2
    Dernier message: 04/01/2010, 10h02
  3. [requete]somme de plusieur champs séparés
    Par Neilime05 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/04/2007, 21h15
  4. Somme de plusieurs champs
    Par zapatta dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/09/2006, 14h27
  5. Fonction vba somme de plusieurs champs
    Par Greg84 dans le forum Access
    Réponses: 4
    Dernier message: 09/08/2006, 15h16

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