Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplissage automatique de champs depuis des tables liées à la création/mise à jour de l'enregistrement...

4 réponses
Avatar
Guy Capra, Alomphega
Bonjour,

Soit une table "contacts" et une table "locaux" avec une relation de 1àN
de "locaux" sur "contacts" (plusieurs contacts sur un seul local).
La relation s'effectue sur le champ "RefLocal", clé primaire pour
"locaux" et étrangère pour "contacts".

Soit le champ "Description du local" identique dans chaque table.

Je souhaite que lorsque j'entre la référence du local dans "RefLocal" de
la table "contacts", le champ "Description du local" de cette table
"contacts" soit automatiquement rempli avec la valeur du champ
"Description du local" de l'enregistrement correspondant de la table
"locaux".

Je ne souhaite pas seulement afficher/traiter cette valeur, je souhaite
effectivement qu'elle soit enregistrée à l'identique dans son propre
champ de la table "contacts" (oui, une redondance).

J'ai bien trouvé dans l'aide Access 2003 les requêtes de remplissage
automatique, mais ça ne semble pas produire ce que je cherche, car il
faut lancer la requête. En effet, je souhaite que ceci soit entièrement
automatique à chaque création/mise à jour de la fiche dans "contacts"
simplement par l'entrée de la référence.

Est-ce seulement possible avec Access 2003 ?
Comment obtenir ce comportement ?
(en mode création de table, rien ne semble prévu à cet effet)

Merci de votre aide,
--
Guy Capra, Alomphega.
________________________
http://www.alomphega.com

4 réponses

Avatar
3stone
Salut,

"Guy Capra, Alomphega"
| Je souhaite que lorsque j'entre la référence du local dans "RefLocal" de
| la table "contacts", le champ "Description du local" de cette table
| "contacts" soit automatiquement rempli avec la valeur du champ
| "Description du local" de l'enregistrement correspondant de la table
| "locaux".
|
| Je ne souhaite pas seulement afficher/traiter cette valeur, je souhaite
| effectivement qu'elle soit enregistrée à l'identique dans son propre
| champ de la table "contacts" (oui, une redondance).
|


Regarde la fonction "Dlookup" qui te permet d'aller chercher n'importe quoi
n'importe où... en spécifiant le critère en 3ème position.

Reste à l'attribuer dans l'événement "Avant mise à jour" du formulaire.


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Guy Capra, Alomphega
Le 30/10/2003 13:15, 3stone écrivait :

Salut,

"Guy Capra, Alomphega"
| Je souhaite que lorsque j'entre la référence du local dans "RefLocal" de
| la table "contacts", le champ "Description du local" de cette table
| "contacts" soit automatiquement rempli avec la valeur du champ
| "Description du local" de l'enregistrement correspondant de la table
| "locaux".
|
| Je ne souhaite pas seulement afficher/traiter cette valeur, je souhaite
| effectivement qu'elle soit enregistrée à l'identique dans son propre
| champ de la table "contacts" (oui, une redondance).
|


Regarde la fonction "Dlookup" qui te permet d'aller chercher n'importe quoi
n'importe où... en spécifiant le critère en 3ème position.

Reste à l'attribuer dans l'événement "Avant mise à jour" du formulaire.


Merci Pierre, mais je ne maîtrise pas du tout ni Access ni VBA et si
j'ai bien vu dans l'aide ce qu'est Dlookup, il m'échappe encore où
placer cette expression dans ma table en mode création...

Ici, je n'envisageais pas de formulaire : veux-tu dire qu'il faille
obligatoirement passer par un formulaire pour obtenir ce que je cherche ?

Pourrais-tu me guider pas-à-pas par rapport à mon exemple stp, ça
m'aiderais beaucoup à comprendre quelques concepts qui semblent
fondamentaux...

Merci,
--
Guy Capra, Alomphega.
________________________
http://www.alomphega.com

Avatar
3stone
Salut,

"Guy Capra, Alomphega"
| Merci Pierre, mais je ne maîtrise pas du tout ni Access ni VBA et si
| j'ai bien vu dans l'aide ce qu'est Dlookup, il m'échappe encore où
| placer cette expression dans ma table en mode création...


Euh... non... pas dans les tables...
Des tables qui créent des générations spontanées, beurg ;-)))

| Ici, je n'envisageais pas de formulaire : veux-tu dire qu'il faille
| obligatoirement passer par un formulaire pour obtenir ce que je cherche ?

Tu veux dire que tu vas saisir dans les tables, qui de plus doivent
dupliquer certains champs ?

| Pourrais-tu me guider pas-à-pas par rapport à mon exemple stp, ça
| m'aiderais beaucoup à comprendre quelques concepts qui semblent
| fondamentaux...

Il me semble que si tu tiens à faire ce genre de manoeuvre, le plus simple
reste la requête de mise à jour...

En espérant avoir compris la finalité !

--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Guy Capra, Alomphega
Le 30/10/2003 15:29, 3stone écrivait :

Salut,


Re,


"Guy Capra, Alomphega"
| Merci Pierre, mais je ne maîtrise pas du tout ni Access ni VBA et si
| j'ai bien vu dans l'aide ce qu'est Dlookup, il m'échappe encore où
| placer cette expression dans ma table en mode création...


Euh... non... pas dans les tables...


Bon, d'accord.
(et pas sur la tête stp ;-)

Des tables qui créent des générations spontanées, beurg ;-)))


Oui et non, mais pas que. ;-)
Voir ci-dessous.


| Ici, je n'envisageais pas de formulaire : veux-tu dire qu'il faille
| obligatoirement passer par un formulaire pour obtenir ce que je cherche ?

Tu veux dire que tu vas saisir dans les tables, qui de plus doivent
dupliquer certains champs ?


En fait non : je cherche à reproduire un comportement de FileMaker Pro
qui permet d'importer/mettre à jour automatiquement un champ par rapport
à une relation. Dans FMP ceci est défini dans la structure de la base,
c'est pourquoi je pensais que sous Access il suffisait d'attribuer cette
possibilité directement dans les propriétés d'un champ.

Pardon de cette référence à un concurrent, mais il est vrai que c'est un
système que je connaissais assez bien, et que mon référentiel de
conceptualisation s'est fait sur icelui. Il me faut donc m'adapter et
comprendre...


| Pourrais-tu me guider pas-à-pas par rapport à mon exemple stp, ça
| m'aiderais beaucoup à comprendre quelques concepts qui semblent
| fondamentaux...

Il me semble que si tu tiens à faire ce genre de manoeuvre, le plus simple
reste la requête de mise à jour...


Non : dans FMP, lorsqu'on change par exemple le numéro de référence
relationnelle, tous les champs que l'on a configuré pour cela se mettent
à jour automatiquement, sans avoir à rien lancer de spécial.

Je cherche à reproduire le même comportement sous Access.


En espérant avoir compris la finalité !


Un autre exemple de la vraie vie : pour une facturation, on peut vouloir
conserver les adresses dans les champs adresse client d'une facture,
même si l'adresse du client change pour les factures futures (les
anciennes factures gardant l'ancienne adresse pour conserver la trace de
l'édition réelle).

Idem par exemple pour les prix facturés : si les détails factures
reprennent une table stock, il ne s'agit pas que les montant des
anciennes factures changent lorsqu'on modifie le prix des produits... Il
faut donc que le prix au moment de la facturation soit inscrit dans le
champ idoine de la table détails de facture pour ne plus bouger par la
suite.

Comment obtenir ça sous Access ?

Merci de ta patience,
--
Guy Capra, Alomphega.
________________________
http://www.alomphega.com