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 :

Gérer les changements dans une table


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Gérer les changements dans une table
    Bonjour,
    J'aimerais avoir une base de données avec par exemple des clients qui ont bien-sur une adresse et un téléphone...etc. J'aimerais garder un suivi sur ces informations de sorte que si un client change de numéro de telephone par exemple, je puisse avoir plusieurs numéro de telephone pour un meme clients avec une date d entrée du numéro en question. Donc on saurais que tel date ce client a changé de numéro et on verrais l ancien numéro. Le seul problème est que je veux éviter les problème donc partir du bon pied. Je me demandais aussi comment faire pour que dans ma table client, la colonne telephone soit liée à la dernière entrée!? Si on change de numéro de telephone, ça ne veux pas dire qu'il sera remplacé dans la table client car la table client fera appel a la table CLIENT_TELEPHONE par exemple.

    J ai donc une table telephone qui contient uniquement des numéro qui servent de cle primaire pour eviter les doublon.

    j ai aussi une table client qui aura un ID numero auto avec un prenom et un nom par exemple

    ensuite une table Client_telephone qui aura les client et un telephone avec la date d entrée. Cette table ne peu donc pas avoir de clé primaire.

    la table client_détails par exemple fera appel à la table client_telephone pour avoir les information comme le nom, prenom et numero de telephone. mais comme cette table n as pas de cle primaisre, je dois faire appel à la table client en plus de client_telephone. À ce moment la, j'ai un client unique avec ses information...mais comment faire pour que son telephone soit bien le dernier entré?

    J'ai fait un topo rapide mais peut-être que ça ne fonctionne pas de cette façon non plus... vous pouvez me proposer vos façon!

    Merci à l'avance!

  2. #2
    Modérateur

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

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

    Voici une solution possible :

    tblClient
    ClefClient (numero auto, clef primaire)
    AutreInfo (ex : Nom)

    tblTelephone

    ClefTelephone (numero auto, clef primaire)(numero auto, clef primaire)
    NumTelephone (ClefPrimaire ou Index unique, Texte 255 caracteres)

    tblTelephoneClient
    ClefTelephoneClient (autonum, clef primaire)
    ClefClient (entier long, en interne les Autonum sont des entiers longs donc quand c'est une clef etrangere dans une relation il faut utiliser Entier Long du cote de la table utilisatrice.)
    NumTelephone (Texte 255 caracteres)
    DateDebutTelphone (DateHeure, 1901/01/01 pour le 1er numero ou date d'enregistrement du client)
    DateFinTelephone (DateHeure, 9999/12/31 pour le numero courant)

    Index unique compose (ou clef primaire composee) de [ClefClient], [NumTelephone], [DateDebutTelephone].

    • En relation avec tblClient
    • En relation avec tblTelephone


    L'utilisation d'une date de debut et d'une date de fin permet de facilement trouver le numero de telephone a une date donnees.
    Si tu ne prevois pas de recherches de ce type, tu peux te contenter de la DateDebut (ou DateMAJ ce qui serait plus signficatif).

    Cette table ne peu donc pas avoir de clé primaire.
    Une table peut toujours (et il est recommande qu'elle ait, ca ameliore les performance parait-il) avoir une clef primaire soit par composition de divers champ soit en utilisant un AutoNum.
    Il est vrai que dans le cas de l'autonum la clef elle meme ne porte pas d'information. Elle se contente d'identifier l'enregistrement donc strictosensu ce n'est pas une clef, juste un numero.

    A titre personnel, et c'est discute, je mets toujours un champ autonum que je defini comme etant ma clef primaire.
    Si j'ai un autre champ (ou combinaison de champs) qui peut servir de clef primaire, je cree un index unique.
    Par exemple pour mes tables de reference comme par ex :
    tblSexe
    ClefSexe (Autonum, clef primaire)
    CodeSexe (Texte 255 caracteres, Index unique)
    DescSexe (Texte 255 caracteres, Index unique)

    Apres je decide si j'utilise [Code] ou [Clef] pour mes relations et ma preference va a [Clef] si je pense que Code va etre modifie par l'utilisateur.

    Et parfois je remplace le autonum par un entier long saisi manuellement afin de pouvoir faire des tests dans le code en etant sur que la valeur va etre constante.

    Attention les indexs uniques peuvent accepter des champs Null et la ils cessent d'etre uniques ce qui est un peu penible mais qu'on peut controller par code a la saisie.

    A+

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    J'ai oublie.

    À ce moment la, j'ai un client unique avec ses information...mais comment faire pour que son telephone soit bien le dernier entré?
    Tu utilises un sous-formulaire (il y a un assistant) qui affiche les numeros en odre decroissant de date ou tu recuperes les numeros qui est "valide" a la date choisie (date() between [DateDebut] and [DateFin]).

    est la date actuelle.

    Avec seulement la date de changement, il faut trouver le numero de telephone avec la date maximum puis le recupere c'est plus complexe (et plus long) que de trouver celui dont la date de debut celle de fin encadre la date courante.

    A+

  4. #4
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Je ne suis pas sur de comprendre!
    [QUOTE=marot_r;10440262]Bonjour.

    Voici une solution possible :

    tblClient
    ClefClient (numero auto, clef primaire)
    AutreInfo (ex : Nom)

    tblTelephone

    ClefTelephone (numero auto, clef primaire)(numero auto, clef primaire)
    NumTelephone (ClefPrimaire ou Index unique, Texte 255 caracteres)

    tblTelephoneClient
    ClefTelephoneClient (autonum, clef primaire)
    ClefClient (entier long, en interne les Autonum sont des entiers longs donc quand c'est une clef etrangere dans une relation il faut utiliser Entier Long du cote de la table utilisatrice.)
    NumTelephone (Texte 255 caracteres)
    DateDebutTelphone (DateHeure, 1901/01/01 pour le 1er numero ou date d'enregistrement du client)
    DateFinTelephone (DateHeure, 9999/12/31 pour le numero courant)

    Index unique compose (ou clef primaire composee) de [ClefClient], [NumTelephone], [DateDebutTelephone].

    • En relation avec tblClient
    • En relation avec tblTelephone


    j'ai fait mes 3 tables comme tu me l'as expliqué... mais ensuite quand tu parles de l index composé ou de clef composé...c'est dans une autre table? Pour le moment j'ai fait une autre table mais ca ne marche pas tellement...
    pourrais-tu eclaircir cette partie svp?
    Est-ce possible de faire une table avec par exemple un numero unique de client ou clef primaire et ensuite un nom, prenom, telephone et adresse? le telephone et adresse etant automatiquement le dernier entré...ou si je dois passer par une requete pour avoir ces infos à jour?

    egalement, la date de fin du numero de telephone...je met quoi? car dison que j inscrit un cleint, il a un numero de la date de debut (aujourd hui) et la date de fin? je laisse vide? la date de fin sera la date de debut du prochain numero?

    merci encore!

  5. #5
    Modérateur

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

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

    l index composé ou de clef composé...c'est dans une autre table? Pour le moment j'ai fait une autre table mais ca ne marche pas tellement...
    pourrais-tu eclaircir cette partie svp?
    Non l'index comme la clef primaire est a creer dans la table concernee.

    Pour la clef c'est assez facile, tu selectionnes les champs et tu appuis sur l'icone "CLef" et Access s'occupe du reste.
    Pour l'index c'est un poil plus complique.
    1. Tu appuis sur l'icone Index (celle avec l'eclair).
    2. Access t'ouvre l'ecran de saisie.
    3. Tu te mets sur une ligne vierge.
    4. Dans la 1ere colonne tu donnes un nom a ton index (perso je les appelle UniciteXYZ ou XYZ est un nom signicatif comme UniciteCode)
    5. Dans la seconde colonne tu choisis le 1er champ.
    6. En bas sous la liste tu coche "unique".
    7. Tu te mets dans la 2ieme colonne sur la ligne juste en dessous du 1er champ et tu choisis ton 2ieme champ et ainsi de suite pour les autres champs.
    8. Tu sauvegardes.


    le telephone et adresse etant automatiquement le dernier entré...ou si je dois passer par une requete pour avoir ces infos à jour?
    Dans une BD bien montee, chaque table ne contient que des informations en rapport avec ses donnees. Par exemple, ta table client peut contenir le nom, l'adresse (si tu n'en a qu'une par client), la date de naissance, etc... Bref tout ce que tu pour lequel tu peux dire "cela qualifie" mon client (on appelle parfois cela des attributs).

    Pour recuperer l'info sur le numero de telephone, tu peux en effet faire une requete qui va mettre en rapport ton client et ses numeros de telephones.
    En fait il est plus simple de faire 2 requetes ;
    1. Requete qui te donne le dernier numero pour tous tes clients.
    2. Requet qui affiche les informations du client et son dernier numero.


    il y a un numero de la date de debut (aujourd hui) et la date de fin? je laisse vide? la date de fin sera la date de debut du prochain numero?
    Pour le dernier numero tu peux laisser vide (mais ca complique la vie) ou mettre 9999/12/31 soit le 31 decembre 9999.
    Quand tu ajoutes un numero, tu mets comme date de fin la veille dans le numero precedent et la date du jour dans le numero courant.

    On peut programmer Access pour faire la mise a jour du numero precedent pour toi.

    A+

  6. #6
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut OK, JE REGARDE CA! UNE DERNIERE CHOSE...
    j'aimerais à la fin créer un genre de formulaire qui contient un paquet d infos et qui permet de remplir les table...J'ai fait un test avec un formulaire avec plusieurs onglets...donc ca semble vouloir aller mais le probleme est que parfois pour certains champs il y a un message d erreur comme quoi il ne sais pas quel champs prendre car plusieur pour lui ont le meme nom. En fait mes champs sont différents mais je passe par un paquet de requete du genre:

    item de type A le plus vendu, item de type B le plus vendu, item total le plus vendu... client qui achete le plus...etc

    donc sur mon formulaire j affiche le top 10 par exemple de chaques requete pour avoir un suivi etc... mais j ai l impression qu il n aime pas...surtout quand je me sert d une requete pour en faire une autre...il voit donc le client mais qui proviens d une autre requete qui proviens finalement de la table...donc pour lui ce n est pas le meme client mais plusieur si je comprend bien...

    peut-etre je ne fonctionne pas comme il faut non plus...je voulais voir comment m aligner pour batir la vrai base de donnée!

    Merci !

  7. #7
    Modérateur

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

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

    Sans connaitre tous les tenants et aboutissants de ton application difficile de repondre a ta question. Il n'y a pas de solution unique et universelle.

    De ce que tu as dit, je commencerai avec un formulaire client et des sous-formulaires qui affichent les donnees que je veux.
    Ces sous-formulaire pourraient etre dans les pages d'un controle onglet du formulaire principal.
    Travaille tes "morceaux" separement donc un sous-formulaire a la fois. Tu le crees, tu le valides, et tu l'integres au formulaire principal.

    Et a priori melanger statitistique et saisie dans un meme formulaire est une source de soucis.
    La solution prudente est d'avoir un formulaire dedie aux statitisques et un a la saisie.
    Dans le formulaire de stat, tu fais tes "crunching" de donnees pour presenter les resultats qui t'interessent.
    A partir du formulaire de stat on peut ouvrir celui de saisie ou faire du formulaire de saisie un sous-formulaire du formulaire de stat.

    A+

  8. #8
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut encore une question sur les requete...
    J'ai une table client avec nom et prenom... ensuite une table telephone avec les numero... et une table client_telephone ou j ai le client, son numero et la date de debut...

    donc voici un exemple:
    id_tel_client | id client | id telephone | date
    1 | 1 | 1 | 1 janvier 2018
    2 | 1 | 3 | 15 janvier 2018
    3 | 2 | 4 | 10 janvier 2018
    4 | 3 | 5 | 10 janvier 2018
    5 | 1 | 2 | 3 janvier 2018

    je veux faire sortir par ma requete uniquement les infos pour la derniere date. Avec le maxdate je réussi seulement à sortir le client avec la derniere date mais dès que j'ajoute un autre champs je me retrouve avec des doublons! je veux qu au final ca ressemble à ca:

    id client | id telephone | date
    1 | 3 | 15 janvier 2018
    2 | 4 | 10 janvier 2018
    3 | 5 | 10 janvier 2018

    peu importe l ordre et les date... par la suite je peu essayer soit de faire une table a partir de cette requete, qui serais ma table client finale ou encore rester comme ça et m'en servir via d autres requete...

    je suis un peu debutant dans les requete, j'ai de la difficulté à comprendre le raisonnement et surtout à appliquer des bons critères!

    Merci!

  9. #9
    Modérateur

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

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

    C'est pour cela que je t'ai recommade d'avoir une date de fin :-).

    ici un exemple de requete

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select client_telephone.* from  client_telephone 
    where Date() between client_telephone.DateDenut and  client_telephone.DateFin

    Elle te donne le numero de telephone actif en date d'aujoud'hui.

    Une fois que cette requete est au point tu ajoutes la jointure sur la table des clients et tu as les infos que tu veux.

    si tu tiens a avoir une seule date,

    1. Il te faut faire une requete qui te donnes la date MAX de chaque client.
    2. Puis une requete qui fait la jointure avec ta table client et la requete qui te donne la date max par client sur clefClient.


    A+

  10. #10
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut requete avec champs vide
    J'ai fait mes requete qui me sortent

    id_client.....nom....prenom....numero_cell

    id_client....nom...prenom...numero_maison

    id_client....nom...prenom...numero_autre


    Le problème est que j'ai par exemple 4 client, donc les id de 1 à 4, mais que certains clients n ont qu'un numéro de cell ou juste un numéro de maison...donc chacune de ces 3 requete ne contiennent pas necessairement le même nombre de ligne...

    alors quand je fait une dernière requete, au lieu d avoir les 4 id client et les numéro correspondant, je n ai que les id client qui ont les 3 types de numéro. Comment faire pour qu il me liste vraiment tous mes clients et par la suite remplir les autres champs selon les requete correspondante? Si donc un client n as pas de telephone du tout, dans ma requete finale il n apparaitra meme pas...j aimerais qu il y soit mais que les champs soit vide...

    merci encore!

  11. #11
    Modérateur

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

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

    Il faut changer le type de jointure dans tes requetes.
    Tu cliques avec le bonton droit sur le trait.
    Tu choisis l'une des options (2 ou 3) pour que access prenne tous les enregistrements de client. Actuellement c'est 1 qui est cocher : seulement ceux qui sont dans les 2 tables.

    A+

  12. #12
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut pas sur de compendre ou changer cette option!
    [QUOTE=marot_r;10447015]Bonjour.

    Il faut changer le type de jointure dans tes requetes.
    Tu cliques avec le bonton droit sur le trait.

    quel trait? il faut etre en mode sql? je cherche, je ne vois rien comme option dsl!

  13. #13
    Modérateur

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

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

    Dans ta requete en mode conception tu devrais logiquement avoir la table des clients en jointure avec la requete qui te donne les telephones.
    Sinon tu ne peux pas afficher les informations relatives au client comme son nom.
    La jointure c'est le trait.

    Si tu n'as pas la table des clients dans ta requetes ajoute-la.
    Access devrait normalement te creer la jointure mais si il ne le fait pas, clique le champ ClefCLient de ta requete des telephones et glisse-le sur la table des clients.

    Apres tu peux changer son type.

    A+

  14. #14
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut erreur...
    j'ai bien l'option maisque ce soit dans les sous-requete ou encore dans ma requete finale, des que je met autre chose que l option 1 ca me dit que sql ne peu pas exucuter car union ambigue...

    je continue de regarder ce qui ne va pas! t'aurais une idée?

  15. #15
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    Poste une image de ta requette telle qu'elle est.

    A priori tu n'as pas besoin de sous-requite ou de requete union pour faire cela.
    Les sous-requetes sont possibles dans Access mais il n'est pas vraiment prevu pour cela.
    Et il n'est pas tres fort sur les requetes union non plus.

    A+

  16. #16
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut VOICI!
    Nom : ACCESS.png
Affichages : 175
Taille : 111,3 Ko


    Voila, j'ai même essayer de changer mes relation de base entre les tables mais ne change rien!

  17. #17
    Modérateur

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

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

    A mon avis tu as pris trop de chose.

    Tu as besoin de

    1. R_CLIENT_TELL_CELL_MAX_DATE
    2. CLIENT_DETAIL


    Les informations dont tu as besoin sont la.
    Tu prends le numero de telephone dans R_CLIENT_TELL_CELL_MAX_DATE
    Et les infos du client dans CLIENT_DETAIL
    Et tu n'as pas besoin de regroupement puisque R_CLIENT_TELL_CELL_MAX_DATE te donne seulement un enregistrement par client.

    Quand tu as des jointures en "diamant" comme ici
    • CLIENT_DETAIL <-> R_CLIENT_TELL_CELL_MAX_DATE <-> TEL_CELL_CLIENT
    • CLIENT_DETAIL <-> TEL_CELL_CLIENT


    C'est generalement une erreur.

    Tu peux avoir besoin des donnees venant 2 fois de la meme table et dans ce cas la, il faut l'ajouter 2 fois a la requete.
    Ces cas sont assez rares.

    A+

  18. #18
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut resulu
    Meme en enlevant des infos ca ne marchais pas... pour resoudre le problème j'ai du simplement enlever la table client_details car dans ma requete j ai deja un champs avec le id de cette table...

    puis dans ma requete finale qui lance la creation de table, j ai mes 3 requete avec la table client_detail et mes relation sont en type 2...

    ca fonctionne tres bien!

    Merci de ton aide!

  19. #19
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Juillet 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 13
    Points : 3
    Points
    3
    Par défaut au sujet de la colonne liée...
    Bonjour,
    Je me demande comment faire pour afficher la colonne désirée dans mon formulaire... j'ai beau mettre colonne 2 dans colonne liée, dans ma liste deroulante je n ai que les valeur numerique de la clef primaire qui s affiche... et dans mes tables, si je joue trop avec ca mes relations ne peuvent plus se faire...j'ai essayé en changeant à partir de la, mais même avec le bon type de donnée la relation ne peut se faire...

    Quand je met colonne liée à 2 puis à 1 par la suite, quand je vais dans l affichage mode formulaire, la donnée entrée est ok mais dès que je touche la liste déroulante, il me ressort encore les numero...

    Merci et bonne journée!

  20. #20
    Modérateur

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

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

    Quand elles sont "fermees" les listes deroulantes n'affichent qu'une seule de leur colonne, la 1ere dont la largeur n'est pas 0.

    Donc l'astuce consiste a definir une liste a 2 colonnes (Valeur Numerique, Text associe) et a mettre 0; dans la propriete "Largeurs des colonnes".
    Le 0 c'est pour la 1ere colonne, le ; est un separateur et ne pas preciser la largeur de la 2ieme colonne dit a Access d'utiliser l'espace restant.
    Access va travailler avec la valeur numerique mais il va afficher le texte correspondant.

    Note bien que pour Access la vraie valeur c'est le nombre pas le texte.
    Si tu regardes dans ta table, tu va voir un nombre pas le texte associe.
    Si tu fais une selection dans une requite, c'est le nombre que tu vas utiliser.

    A+

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. [MySQL] Comment gérer les ' et " dans une table pour exporter en excel
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/11/2011, 19h42
  3. Réponses: 3
    Dernier message: 23/04/2006, 12h14
  4. Réponses: 5
    Dernier message: 25/07/2005, 14h03
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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