ACCESS 2010 ZDL liée a ZDT et mise à jour table

Résolu/Fermé
Signaler
-
 kelly -
Bonjour à tous,

J'ai 2 tables :[Personnes et service] qui comporte tous les noms et services+[Liste courrier] qui est vide puisqu'elle est alimentée via le formulaire

Dans ma table[Personnes et service], j'ai un champs [Destinataire], et un champs [Service]. J'ai également ces mêmes champs dans ma table[liste Courrier]

J'ai donc un formulaire dans lequel j'ai plusieurs zones de textes que je remplis, et qui me permettent d'alimenter ma table[Liste Courrier].

J'ai donc une zone de texte [ZDT service] qui est alimentée automatiquement en fonction du destinataire dans une zone de liste.
Dans ma zone de liste [destinataire] :
Dans l'onglet «Données» ...
Source contrôle : Service
Propriété contenu : SELECT [Service], [Destinataire] FROM[Personnes et service] ORDER BY [Destinataire]
Origine Source : Table/Requête
Colonne liée : 1

Dans l'onglet «Format» ...
Propriété Nbre colonnes : 2
Propriété Largeurs colonnes : 0cm

Dans ma zone de texte [service] :
J'ai mis =[ListNom].[column](1) (ListNom étant le nom de ma ZDL)

Mais lorsque je valide mon formulaire, le service s'affiche bien dans ma table[liste courrier] mais pas le destinataire.
Comment faire ? J'ai besoin de vos lumières !!!
J'espère avoir été claire, car ce n'est pas simple à expliquer.

Merci d'avance.

6 réponses

On est encore plus que toi dans l'obscurité. Il faudrait voir la bête.
Merci d'envoyer par cjoint.com
Bonjour,
Tout d'abord merci d'avoir lu mon message. Voici donc mon fichier en espérant que vous pourrez m'aider.
Merci d'avance.


http://cjoint.com/?0ElqnX5TP9H
Bonsoir,
J'ai bien essayé de regarder ta base mais je n'ai manifestement tout compris, ni ta question. Pour moi tout marche normalement, excepté qq bizarreries.
Tu dis: "lorsque je valide mon formulaire, le service s'affiche bien dans ma table[liste courrier] mais pas le destinataire"
Moi, je vois exactement le contraire; le "destinataire" s'affiche bien mais pas le "service".
2) le service ne peut pas "s'afficher" dans la table parce que le contrôle "Service" est un contrôle calculé ("=[ListNom].[Column](1)") et non pas relié au champ correspondant de la table, il est donc recalculé chaque fois que tu changes d'enregistrement, sans figurer dans la table.
Attention au vocabulaire si tu veux être compris (e): les tables sont composées de différents "Champs", les formulaires regroupent des "Contrôles"
3) La requête "=ListNom" est masquée, mis à part son écriture bizarre que je ne connaissais pas, et la table à laquelle elle fait référence n'est pas visible en mode visuel (ou création ) dans la fenêtre des objets Access. Pourtant en passant cette requête en mode SQL, il apparait un objet, table ou requête, "R Personnes et services DTMSAv" mais auquel on n'a pas accès. (???)
4) En plus, il y a des macro et des procédures VBA, mais on ne sais pas trop à quoi elles correspondent ni leurs fonctions.
Hormis ces remarques, tout semble marcher correctement.
En résumé, pour ce qui est de ta question proprement dite, il est normal que rien ne s'enregistre dans le champ "Service" parce qu'il n'est relié à aucun contrôle.
Enfin, tu n'as pas à "valider" ton formulaire pour la simple raison qu'il suffit de passer à un autre enregistrement pour que tes données soient enregistrées dans la table source.
Bonne suite
Bonjour,
Il est vrai que maintenant c'est le service qui ne s'affiche pas. j'ai essayé tellement d'essai en vain que je ne m'y retrouve plus. ce n'est plus très clair.
Je vais donc essayer de faire le tri (supprimer les VBA, requete qui ne sert à rien...)
Mais comment dois-je faire pour que le service s'affiche dans ma table si avec ce contrôle "=[ListNom].[Column](1)" cela ne s'affiche pas dans ma table ?
Merci d'avance pour vos réponses car cela fait pas mal de temps que je suis dessus et je ne trouve rien sur internet à ce sujet !
Bonjour,
Comme je t'ai dit je ne connais pas cette construction de ta formule "=[ListNom].[Column](1)" et en plus je ne trouve aucune trace d'une table "ListNom", je ne peux rien t'en dire.
Cela dit, ta formule marche bien, alors tu peux la laisser, mais l'utiliser autrement,
- soit en l'introduisant comme "valeur par défaut" du contrôle et alors entrer le champ "Service" comme Valeur-Source.
- Ou bien laisser les choses comme elles sont, mais en autorisant la vue "Feuille de Données" de ton formulaire; l'avantage est que en faisant comme ça tu peut te passer du champ "Service" dans ta table sousjacente.
Bonne suite
Bonjour,
Merci beaucoup pour votre aide !
Mon problème est résolu !!