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 :

Valeur d'un champ à partir de celui d'une table de référence


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Valeur d'un champ à partir de celui d'une table de référence
    Bonjour,
    cela fait pas mal de temps que je n'ai plus joué avec access et je me galère un peu pour insérer dans une table une valeur issue d'une autre table.
    Je m'explique : J'ai des adhérents qui prennent des cotisations. Le prix de ces cotisations sont dans une table de référence. et c'est cette valeur de référence que je voudrais insérer dans ma table lorsque je saisis le code cotisation pour mon adhérent.

    D'un point de vue modélisation, j'ai 2 tables
    1 table de référence cotisation "ref_cotis" avec un code cotis (ma clé) et un montant associé.
    et une table adhésion, ma clé adhérent, un code cotisation (lié à la table de référence) et un montant.
    Dans ma table adhésion, je peux avoir plusieurs codes cotisation.

    Dans mon formulaire adhérent, je voudrais que lorsque je saisis le code cotis de ma table adhérent, ça me remplisse automatiquement le montant qui est défini dans ma table de référence.

    Avez vous une idée svp ?

    Merci par avance pour votre aide !

    Perrine

  2. #2
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 104
    Points : 124
    Points
    124
    Par défaut
    Bonsoir,
    Dans ton formulaire adhérent tu mets un controle texte qui pointe sur le champ cotisation, protégé en saisie.
    Sur le onchange du champ catégorie tu charges ce champ avec un dlookup sur la table de référence.

    qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CodeCotis_AfterUpdate()
    Me.Cotisation.Value = DLookup("Montant", "Ref_Cotis", "Id = '" & Me.CodeCotis & "'")
    End Sub
    Tu peux aussi charger le montant dans la listbox de CodeCotis en colonne 2 (ou 3 si tu as déjà le libellé) et le récupérer dedans par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CodeCotis_AfterUpdate()
    Me.Cotisation.Value = Me.CodeCotis.Column(, 1) ' la première colonne est la 0
    End Sub

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    bonjour, et merci pour ta réponse.
    j'ai du mieux ... mais pas tout à fait. En fait, j'ai le 1er enregistrement de ma table qui s'affiche tout le temps, quel que soit le code cotis que je choisis.
    Voici ce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MONTANT_DU.Value = DLookup("MONTANT","REF_COTIS",Me.CODE_COTIS)
    à quoi doit correspondre le id auquel tu fais référence ?

    Perrine

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Regardes le code que t'as mit Bevan, il faut dans ton instruction DLookup, que tu dises sur quel champ est ton critère.

    Pour des informations sur la syntaxe des fonctions de domaine n'hésites pas à consulter l'aide, ou un article (regardes mes articles dans ma signature sur mon hébergement).

    Starec

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Encore moi, et je ne m'en sors toujours pas ..
    j'ai mis ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MONTANT_DU.Value = DLookup("MONTANT","REF_COTIS","CODE_COTIS = '" & Me.CODE_COTIS & "'")
    Les champs de ma table REF_COTIS sont
    CODE COTIS (pour la clé (avec l'espace))
    MONTANT (pour le montant !)
    et le lien dans la table que je veux mettre à jour s'appelle CODE COTIS aussi.

    J'ai toujours le 1er enregistrement qui s'affiche. un probleme avec mon champ qui contient un espace peut etre ?

    Merci !

  6. #6
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 104
    Points : 124
    Points
    124
    Par défaut
    Bonsoir

    Access remplace gentiment (ou sauvagement suivant l'diée qu'on s'en fait) l'espace par un underscore pour le champ de formulaire, mais pas dans la base !
    Tu dois donc garder ton nom original et comme il est -justement- trop original le mettre entre [].
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MONTANT_DU.Value = DLookup("MONTANT","REF_COTIS","[CODE COTIS] = '" & Me.CODE_COTIS & "'")
    Et B..... de M...., promets moi d'arréter d'utiliser des noms de champs ou de contrôle à la C.. !

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    YIHA !!!
    ça marche
    merci merci merci et encore merci.
    heu .. c'est pas moi qui ait construit la base à l'origine. Mais je me le note en gras police 28 pour la suite !!

    Perrine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Mise à jour des valeurs d'un champ zone de liste dans une table
    Par GILLES_M dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/03/2014, 21h00
  2. Réponses: 1
    Dernier message: 13/08/2012, 18h35
  3. [AC-2007] SQL : ajouter valeur dans un champs du dernier enregistrement d'une table
    Par atech dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/09/2011, 14h25
  4. extraire une valeur d'un champs à partir de la droite
    Par kinganasius dans le forum Oracle
    Réponses: 5
    Dernier message: 08/03/2007, 16h11
  5. Réponses: 4
    Dernier message: 05/07/2006, 15h47

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