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 :

Pull d'un formulaire vers un autre formulaire avec table liée


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Pull d'un formulaire vers un autre formulaire avec table liée
    Bonjour,

    Je cherche à alimenter une table (versus un formulaire) avec les informations d'une autre table...

    Voici j'ai un formulaire qui me sert à faire de la saisie d'anomalie (F-Anomalies) relié à une table (T-Anomalies), voilà le hic...

    J'ai une table lié (T-LIÉ-Globale) avec une vue dans une autre BD-Access, voici ce que j'essais de faire, à partir de mon formulaires anomalie c'est un « pull » de l'information.

    J'ai donc créé un champ où j'entre le ID table lié (T-LIÉ-Globale), un bouton qui ouvre un formulaire qui contient les principaux éléments à tirer vers mon formulaire « F-Anomalie » de style pop-up (F-LIÉ-Globale) ça me permet de valider l'information. Dans ce formulaire « F-LIÉ-Globale », j'ai un bouton de synchro, qui devrait compléter les champs de mon formulaire « F-Anomalies ».

    Mon problème est lorsque je synchronise, il fait la mise à jour du mauvais élément.

    Exemple :
    Dans ma T-LIÉ-Globale, j'ai les éléments 1, 2 et 3
    Dans ma T-Anomalies, j'ai les éléments a, b et c

    Je désire ajouter un nouvelle élément « d » donc, à partir de mon formulaire F-Anomalies, je saisie l'élément « 3 » dans le champ qui me permet de faire un « Pull » de la table T-LIÉ-Globale et je clique sur ouvrir.

    J'ai le formulaire F-LIÉ-Globale avec les éléments « 3 » qui s’affiche, je valide et lorsque je veux synchroniser (ie : amener les infos de la table T-LIÉ-Globale « 3 » dans la table T-Anomalies « d », ça ne fonctionne pas, ce sont les informations de l'élément « a » qui sont mise à jour ou un nouveau élément est créé « e »...

    Voici me code :
    Private Sub Synchronisation_Click()
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("T-Anomalies")
    rs.Edit
    rs![ID_T-Anomalies] = Me.[ID_T-LIÉ-Globale]
    rs![Titre_T-Anomalies] = Me.[Titre_T-LIÉ-Globale]
    rs.Update
    End Sub

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Jos1968,

    Je crois que tu as un problème de compréhension. Le code que tu montres est pour modifier un enregistrement déjà existant: De plus tu ne choisis pas quel enregistrement tu veux modifier, donc par défaut tu te positionnes sur le premier enregistrement de la table. Pour ajouter un enregistrement c'est:Lorsque tu es dans la fenêtre VBA en mode création tu peux te servir de en mettant le curseur sur le mot désiré, qui est l'aide d'Access et tu auras toutes les explications sur le fonctionnement d'un recordset. Tu as aussi de très bons exemples de ce qui est possible de faire.

    Bonne chance

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci pour la réponse rapide

    mais la fonction « AddNew » ajoute un nouvel élément, moi ce que je veux faire c'est un pull vers mon formulaire en cours (F-Anomalie) afin que les champs se complètent à partir du formulaire (popup) « F-LIÉ-Globale »....

    c'est difficile a expliqué...

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour Jos1968,

    Pour ce faire il faut que tu sélectionnes le bon enregistrement. Le code pour l'ouverture de l'enregistrement devrait ressembler à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim rs As Recordset
    Dim strSQL as String
    strSQL = "SELECT T-Anomalies.ID_T-Anomalies, T-Anomalies.Titre_T-Anomalies FROM T-Anomalies WHERE T-Anomalies.LeChampQuiFaitLeLien=LeCritère;"
    Set rs = CurrentDb.OpenRecordset(strSQL)
    'Le reste de ton code
    Ainsi tu modifierais l'enregistrement désiré.

    Bonne chance

Discussions similaires

  1. valeur dans un formulaire vers un autre formulaire dans mediabox
    Par Milicematik dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/03/2011, 21h35
  2. Réponses: 9
    Dernier message: 20/08/2009, 13h52
  3. Réponses: 21
    Dernier message: 01/12/2006, 17h45
  4. Réponses: 9
    Dernier message: 09/08/2006, 13h39
  5. Réponses: 6
    Dernier message: 30/05/2006, 12h33

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