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

IHM Discussion :

Recuperation d'un champ dans une autre table avec un formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Recuperation d'un champ dans une autre table avec un formulaire
    Bonjour

    J'ai une base de donnée géologique a développer voila la structure de la partie qui m'intéresse actuellement:

    2 table:
    1 table point avec un ID_point numérique (pas un numéroAuto)
    1 table sampling avec son identifiant (numéroAuto) et un champ dans lequel je voudrais mettre la valeur du ID_point auquel l'échantillon est lié.

    Les deux tables ont une relation de type 1,plusieurs avec le 1 sur la table point.

    J'ai fait un formulaire pour ma table point et je suis en train de faire celui pour la table Sampling. L'objectif c'est de faire un bouton sur le formulaire point qui ouvrirai le formulaire Sampling et remplirait en même temps le champ ID_point de la table Sampling avec la valeur ID_point de la table point a laquelle l'échantillon est lié.

    Je ne suis pas bien versé dans le code VBA (en fait ça fait longtemps^^) et j'aimerais évité de passer par le code. Si c'est néanmoins indispensable, merci de bien détailler l'opération.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    il faut que tu fasses un sous formulaire dans ton formulaire en mettant dans le formulaire principal "point" comme champs père ID_point et ID_point en champs fils dans le sous formulaire "sampling".

    Tu auras tout sur le même écran. Maintenant si tu veux des fenêtres séparés pour les 2 formulaires faut faire un peu de VBA. En résumé faut ouvrir le formulaire fils en le filtrant sur le champs ID_point.

    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Private Sub ouvreFormulaire()
    Dim stDocName As String
    Dim stLinkCriteria As String
     
        stDocName = "F-Sampling"
        stLinkCriteria = "[T-Point].IDpoint=" & me!ID_point
        DoCmd.OpenForm stDocName, , , stLinkCriteria
       End If
     
    End Sub
    Bon courage.

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je vais donc me résoudre a faire du code, puisque comme vous vous en doutez, je n'ai pas que la table Sampling qui est liée a la table Point

    Juste une question par contre, que signifient les virgules dans ta dernière ligne de code? est ce que je doit les remplacer par quelques chose?

    En tout cas merci pour la réponse.

    Juste pour info, je suis géologue géomaticien stagiaire et je bosse sur un projet de prospection en Guinée (ou je suis actuellement) et je doit donc mettre rapidement en place la base pour remplacer l'ancienne (en fait une compilation de tableaux exel, fichiers gps....) de manière a rendre la chose plus simple.

    Je pense que ce ne sera pas le seul probleme auquel je me heurterais.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Citation Envoyé par Nicolas_geologue Voir le message
    Juste une question par contre, que signifient les virgules dans ta dernière ligne de code? est ce que je doit les remplacer par quelques chose?
    Les virgules servent à séparer les arguments, quand on ne met rien c'est que ces arguments sont facultatifs, et prennent les valeurs par défaut.
    Si tu regardes dans l'aide VB l'instruction, celle-ci te donnera les valeurs par défaut.

    Juste pour info, je suis géologue géomaticien stagiaire et je bosse sur un projet de prospection en Guinée (ou je suis actuellement) et je doit donc mettre rapidement en place la base pour remplacer l'ancienne (en fait une compilation de tableaux exel, fichiers gps....) de manière a rendre la chose plus simple.

    Je pense que ce ne sera pas le seul probleme auquel je me heurterais.
    Joli projet et bon courage, reviens nous voir si tu as des soucis, en exposant bien ton problème.

    Starec

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Euh t'es sur qu'il marche le code?

    Parce qu'il ne veux pas prendre le me! et il n'y a pas de If avant ton end if (j'ai essayé, ca marche pas

    Sinon pour la mise en place de ce code, je le met dans un module que j'appelle lorsque je clic sur le bouton qui va bien c'est ca?

    je trouve quand même bizarre qu'il n'y ai pas plus simple pour rentrer le ID_Point dans une table avec laquelle elle est liée

  6. #6
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Vérifier le nom des formulaires le nom des champs le end if est inutile

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    désolé, effectivement le "end if" ne sert à rien je me suis trompé en collant le code.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pkrvz Voir le message
    désolé, effectivement le "end if" ne sert à rien je me suis trompé en collant le code.
    Alors résolu ? Si oui, il faut cliquer sur le bouton

    Starec

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Ben non pas encore, mais je vous dirais mes soucis demain matin.

    En tout cas merci pour votre aide
    Si vous voulez voyager un peu avec moi:
    http://geologueenguinee.blogspot.com/

  10. #10
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Le code a l'air de marcher mais je n'arrive pas a l'appeler lorsque je clique sur le bouton qui va bien. Je ne connais pas le code qui pourrais me permettre d'appeler le module dans le code de la commande.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    il faut que tu colles le code dans la procédure evénementielle du bouton "Sur click". Ca ira tout seul....

  12. #12
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bon ca ne marche pas, je laisse tomber on remplira le champ a la main (on est dans un esprit ou il ne faut pas perdre de temps sur place, quite a reprendre apres les structures...)

    J'ai un autre soucis:

    Dans mes tables j'ai des champs en liste déroulante. Les valeurs dedans son numérique (pour la rapidité de calcul) mais les nombres correspondent a des codes qui renvoient a un texte, stocké dans une table index. J'arrive a faire en sorte que la table garde en mémoire le numéro, et affiche le texte, mais je n'arrive pas a faire la même chose dans le formulaire. Pitié, dites moi qu'il y a moyen de passer autrement que par le code.

    Pour info j'utilise access 2003.

    Merci beaucoup

  13. #13
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Si tu peux mettre ta bd sur le forum on y verra plus claire et cela évitera de tourner en rond

  14. #14
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Euh je fait comment pour faire ca?

  15. #15
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Tu zip ta BD et tu le joint en piece jointe

  16. #16
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    voila la base zippée.
    Fichiers attachés Fichiers attachés

  17. #17
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Je prend un exemple
    Dans ton form PointFormulaire la liste Outcrop_Type
    dans le tableau des proprietées tu rentre
    Nbr de colonnes 2
    largeur colonne 0

  18. #18
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    bon j'ai trouvé la solution pour ma première question, il suffit en fait de mettre l'expression qui appelle la valeur de l'autre formulaire dans le parametre "valeur par defaut" du controle qui va bien, on met ensuite dans le parametre "Source controle" le nom du champ et hop c'est parti.

    Pour la deuxieme question j'avais trouvé la réponse, merci quand même

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/10/2010, 13h09
  2. Réponses: 6
    Dernier message: 19/03/2009, 10h22
  3. Réponses: 2
    Dernier message: 10/03/2009, 12h45
  4. Réponses: 18
    Dernier message: 11/04/2007, 15h18
  5. order by "un-champ-dans-une-autre-table"
    Par SnakeBoudoir dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/03/2005, 10h55

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