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 :

Valeur par défaut à prendre dans une autre table


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut Valeur par défaut à prendre dans une autre table
    Bonjour à tous

    J'ai un formulaire frm_facture et qui à pour source tbl_facture.

    tbl_facture est liée à tbl_voyage via le champs CdeVoyage.

    Dans tbl_voyage il y a donc CdeVoyage en clé primaire et les champs :
    datedébut
    datefin
    pays

    Dans mon formulaire facuture j'ai 3 champs datedebutbis datefinbis et paysbis.
    A priori je devrais aller prendre les infos dans la table voyage via une requête (ce que j'avais fait) mais finalement une fois sur 100 je dois pouvoir modifier mes dates et ma destination mais garder le même code voyage (c'est mon chef ça

    Et finalement je me suis dis je remet 3 champs de plus dans ma table facture et par défaut il me met les valeurs de ma table voyage (bien sur en fonction du bon code voyage)

    Donc j'ai mis 3 text box dans mon formulaire et dans les propriétés je ne sais pas comment faire...

    En espérant avoir été suffisament clair

    merci

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    dans la valeur par défaut de ta textBox, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT datedebut FROM tbl_Voyages WHERE CdeVoyage = cdeV
    Si ca ne marche pas, sur ouverture de ton formulaire tu mets une procédure événementielle qui va exécuter la requête ci-dessus et tu mets le résultats dans ta textBox.

    Autre solution : tu crées une table tbl_Factures dans laquelle tu as les memes colonnes que tbl_Voyages et tu recopies au départ tes champs de tbl_Voyages dans tbl_Factures. Comme ca ton formulaire facture s'appuie sur la table tbl_Factures et tu peux modifier les champs si besoin est

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut
    Ca marche pas, il dit qu'il y a une histoire de sous requête et qu'il faut mettre des parenthèses et tout.

    Bref comment on fait pour créer une procédure qui appel la requête à l'ouverture ?

    merci

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 95
    Points
    95
    Par défaut
    La requête exacte à écrire c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(SELECT datedebut FROM tbl_Voyages WHERE CdeVoyage = cdeV)
    Sinon, tu ajoutes une procédure événementielle sur Ouverture du formulaire pour faire par le code

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut
    Si ca ne marche pas, sur ouverture de ton formulaire tu mets une procédure événementielle qui va exécuter la requête ci-dessus et tu mets le résultats dans ta textBox.
    Comment je fais ça moi ?
    Je n'en est aucune idée

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 392
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Salut, franchement je ne te conseille pas trop cette méthode, d'ajout de 3 champs supplémentaire dans ta table facture: tu crées des redondances et en plus tu dois utiliser une manip pour mettre à jour tes 3 champs supplémentaires dan ta table tblfactures ?

    Sinon utilise la fonction DLookup:

    par exemple sur la propriété Valeur par défaut de ton contrôle datedebut:

    en manuel tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    datedebut.defaultvalue=DLookup("[datedebut]", "tbl_Voyages", "[CdeVoyage] =" & [CdeV])
    ou [CdeV] représente le contrôle lié au champ cdevoyage dans ta table tbl_factures..


    @+

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Points : 91
    Points
    91
    Par défaut
    Bon alors j'ai fais pas mal d'essai et voila mon problème que j'identifie de mieux en mieux :

    j'ai un forumulaire frm_facure basé sur une table tbl_facture dans lequel je choisi un numéro de client via une combo box, (il y a une table client pour source), je choisi un CdeVoyage via une combo box, (il y a une table Voyage pour source), entre autes choses.

    Le truc c'est que une fois sur 100 j'ai besoin de changer pour ma facture les date de début et de fin de voyage dans ma facture mais sans modifier ma table voyage.

    Or pour résoudre mon problème j'ai pensé rajouté dans ma table facture 3 champs identique à ma table voyage (à savoir) datedébut datefin et pays.
    Quand je suis dans mon formulaire facture je choisi mon voyage via ma combo box et pouf il me met les dates de début date de fin et pays dans les champs de ma facture comme valeur par défaut

    J'espère avoir été assez clair
    merci à vous

Discussions similaires

  1. [AC-2003] Requête de sommation des valeur suivant des critères dans une autre table
    Par s.rais dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 01/06/2010, 19h53
  2. [AC-2007] Récupérer en valeur par défaut la valeur d'un champ d'une autre table ?
    Par tibofo dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2009, 18h07
  3. Réponses: 14
    Dernier message: 09/07/2008, 18h58
  4. Valeur par défaut lié a une table
    Par Alpha31 dans le forum Access
    Réponses: 2
    Dernier message: 18/05/2006, 20h27
  5. Selection d'une valeur dans une autre table
    Par beurnoir dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h02

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