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 :

Impossible de changer dynamiquement la valeur de LinkMasterFields


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Impossible de changer dynamiquement la valeur de LinkMasterFields
    Bonjour,

    J'aimerais avoir une confirmation sur un point dans Access . Je pense qu'on ne peut pas modifier dynamiquement la valeur de la propriété LinkMasterFields d'un sous-formulaire.

    La première affectation de LinkMasterFields fonctionne toujours très bien, mais dés que je souhaite changer de clé pour faire un autre lien entre mon formulaire et mon sous formulaire, j'obtient le message d'erreur suivant :
    Erreur 2101
    Le paramètre d'entrée n'est pas valide pour cette propriété.
    j'ai essayé de reinitialiser la propriété de mon sous formulaire, mais sans succés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.monSousFormulaire.SourceObject = ""
    l'instruction conserve la valeur de la propriété LinkMasterFields
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.monSousFormulaire.LinkMasterFields = ""
    L'instruction me renvoi le message d'erreur cité plus haut.

    Précision, je travaille dans un projet ADP.

    Alors, Existe-t-il une solution ? Peut-être devrais-je ajouter autant de pages à mon sous formulaire que de combinaison de clés d'accès entre le formulaire et le sous formulaire...

  2. #2
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    question béte : c'est quoi LinkMasterFields?

    j'ai pas trouvai

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Propriété LinkMasterFields
    Vous pouvez utiliser la propriété LinkMasterFields (conjointement avec la propriété LinkChildFields) pour spécifier comment Microsoft Access lie les enregistrements dans un formulaire ou état aux enregistrements dans un sous-formulaire, un sous-état ou un objet incorporé, comme un graphique. Si ces propriétés sont définies, Microsoft Access met automatiquement à jour les enregistrements connexes dans le sous-formulaire lorsque vous passez à un nouvel enregistrement dans un formulaire principal.
    Chaîne en lecture/écriture.

  4. #4
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    ah, merci ça peut servir.

    j'avai pas fait F1 ( access pas lancé)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par gus17
    Bonjour,

    Je pense qu'on ne peut pas modifier dynamiquement la valeur de la propriété LinkMasterFields d'un sous-formulaire.
    Si c'est possible

  6. #6
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Dans l'aide (F1) de la propriété LinkChildFields, il est écrit:

    Les propriétés ne peuvent être définies qu'en mode Création ou lors de l'événement Open d'un formulaire ou d'un état.
    Cdlt,

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par ActionAccess
    Bonjour,

    Dans l'aide (F1) de la propriété LinkChildFields, il est écrit:



    Cdlt,
    SAuf que la ligne juste au dessus de celle que tu cites dis :


    Vous pouvez également définir ces propriétés à l'aide d'une expression chaîne d'une macro ou de Visual Basic.

    Personnellement, j'ai, dans une de mes basees, un formulaire avec un sous-formulaire et 4 boutons
    En fonction du bouton que je clique, les infos dans le sous-formulaire changent.
    La trame du sous-formulaire est la même, seul les sources changent. Pourquoi faire 4 sous-formulaires quand 1 seul suffit.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Je précise mon problème
    J'ai lié mon formulaire (formulaire1) à une table contenant une combinaison de 2 clés étrangères et je souhaite établir plusieurs liaisons à partir de cette table avec un seul sous-formulaire :
    - 1ère relation définie (sous un bouton) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    formulaire1.monSousFormulaire.SourceObject = "nomFormulaire2"
    formulaire1.monSousFormulaire.LinkMasterFields = "nomFormulaire1_nomCléEtrangère1"
    formulaire1.monSousFormulaire.LinkChildFields = "nomFormulaire2_nomCléEtrangère1"
    -2éme relations non définie (sous un bouton) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    formulaire1.monSousFormulaire.SourceObject = "nomFormulaire3"
    formulaire1.monSousFormulaire.LinkMasterFields = "nomFormulaire1_nomCléEtrangère2"
    formulaire1.monSousFormulaire.LinkChildFields = "nomFormulaire3_nomCléEtrangère1"
    La première liaison se déroule sans accrocs, le message d'erreur n'apparait qu'au 2ème clic : quand j'essaye d'affecter 'nomFormulaire1_nomCléEtrangère2' à LinkMasterFields.
    A noter qu'au moment de cette affectation la propriété LinkChildFields a conservé sa valeur (soit "nomFormulaire2_nomCléEtrangère1"). Peut-être que l'erreur vient de là, car au moment de cette affectation les deux valeurs n'ont rien à voir entre elles.

    Bref, Scorpion1611, je serai curieux de voir ton code car c'est exactement ce que j'essaye de faire.

    A noter, que je vient de créer plusieurs pages avec un sous formulaire dans chacune pour chaque liaison et que cela fonctionne, mais bon c'est pas le pied .

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par gus17
    La première liaison se déroule sans accrocs, le message d'erreur n'apparait qu'au 2ème clic : quand j'essaye d'affecter 'nomFormulaire1_nomCléEtrangère2' à LinkMasterFields.
    A noter qu'au moment de cette affectation la propriété LinkChildFields a conservé sa valeur (soit "nomFormulaire2_nomCléEtrangère1"). Peut-être que l'erreur vient de là, car au moment de cette affectation les deux valeurs n'ont rien à voir entre elles.
    Précises ce que tu entends par "deux valeurs n'ont rien à voir entre elles"

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    une fois que la propriété 'SourceObject' est reaffectée comme pour la 2éme relation, les propriétés 'LinkMasterFields' et 'LinkChildFields' devrait se remettre à vide. Or ce n'est pas le cas et au moment de la réaffectation de 'LinkMasterFields', 'LinkChildFields' a conservé sa valeur précédente (soit nomFormulaire2_nomCléEtrangère1).
    Sur ce point je ne sais pas exactement d'où vient l'erreur, mais j'ai une supposition :
    Le nom du champ 'nomFormulaire2_nomCléEtrangère1' n'existe pas dans le formulaire 'nomFormulaire3' d'où le message d'erreur.

    En fait, je pense que si les deux propriétés dépendantes de la propriété 'SourceObject' se mettaient à jour, il n'y aurait plus de message d'erreur.
    Ainsi, je cherche à remettre à vide 'LinkMasterFields' et 'LinkChildFields' , mais sans succès.

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    C'est surprenant car j'ai pas besoin de "vider" les champs père et fils pour changer de valeur

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je travaille avec un projet ADP peut-être est-ce pour cela que j'ai un problème de mise à jour et pas toi.

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Quezako ADP

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut À propos d'un projet Access
    Un projet Microsoft Access (.adp) est un fichier de données Access offrant un accès efficace, en mode natif, à une base de données Microsoft SQL Server à travers l'architecture de composant OLE DB. Vous pouvez utiliser un projet Access pour créer une application client-serveur aussi aisément qu'une application de serveur de fichiers. Cette application client-serveur peut être une solution traditionnelle utilisant des formulaires et des états, ou une solution de type Web basée sur des pages d'accès aux données, ou une combinaison des deux. Vous pouvez connecter le projet Access à une base de données SQL Server distante, une base de données SQL Server locale ou une installation locale de SQL Server 2000 Desktop engine.

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par gus17
    Je travaille avec un projet ADP peut-être est-ce pour cela que j'ai un problème de mise à jour et pas toi.
    Je fais choux blanc là, désolé

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    C'est pas grâve...

    Merci d'avoir consacré du temps à mon problème.


Discussions similaires

  1. Réponses: 5
    Dernier message: 23/12/2010, 09h50
  2. changer dynamique la valeur d'un champ src
    Par debo41 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/06/2009, 08h53
  3. Réponses: 1
    Dernier message: 12/02/2009, 15h22
  4. impossible de changer la valeur d'un hidden...
    Par Palmic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2005, 12h06
  5. Comment changer dynamiquement la valeur d'une option de DbGrid ?
    Par Atrebate62 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/03/2005, 13h35

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