OVH Cloud OVH Cloud

Requete sur evenement

3 réponses
Avatar
alte94
Bonjour,

Conceptuellement, c'est hyper simple ... mais je ne sais pas le
traduire !
1) Deux tables
2) Lien entre table1/champ1 et table2/champ1

Dans le formulaire de saisie table1, je voudrais, à l'entrée de champ2
(donc évèvenement "sur entrée"), tester :

Si table1/champ1 = vide ou s'il s'agit d'un nouvel enregistrement,
aller chercher l'enregistrement correspondant dans table2 et mettre la
valeur de table1/champ2 = valeur de table2/champ2.

Ca a pourtant l'air tout con. J'ai essayé les requêtes, le code SQL
dans la procédure évènement, rien à faire.

Merci,
Alain


--
This is an automatic signature of MesNews.
Site : http://www.mesnews.net

3 réponses

Avatar
3stone
Salut,

"alte94"
| Conceptuellement, c'est hyper simple ... mais je ne sais pas le
| traduire !
| 1) Deux tables
| 2) Lien entre table1/champ1 et table2/champ1
|
| Dans le formulaire de saisie table1, je voudrais, à l'entrée de champ2
| (donc évèvenement "sur entrée"), tester :
|
| Si table1/champ1 = vide ou s'il s'agit d'un nouvel enregistrement,


Il y a une propriété qui indique cela... "NewRecord"


If Me.NewRecord Then
...
end if



| aller chercher l'enregistrement correspondant dans table2 et mettre la
| valeur de table1/champ2 = valeur de table2/champ2.


Puisqu'une relation existe entre les deux tables, pourquoi vouloir
dédoubler les données du champ 2 ??
Cela ne fait que créer une redondance et est dangereux par la suite !


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
alte94
Salut 3stone,

Merci pour ta réponse.

Puisqu'une relation existe entre les deux tables, pourquoi vouloir
dédoubler les données du champ 2 ??

La valeur que je cherche à obtenir est dans table2/champ2, lequel

contient une valeur incrémentée et que cette valeur varie à chaque
nouvel enregistrement. J'ai donc réellement besoin de sélectionner
l'enregistrement de table2 à partir de la valeur de table1/champ1, et
c'est ce que je ne sais pas faire, ni par requête, ni par un SELECT.
Bref, maintenant que tu m'as expliqué comment tester sur NewRecord, il
ne me manque plus que de savoir comment appeler l'enregistrement dans
table2.

Merci,
Alain

Avatar
3stone
Salut,

"alte94"
| La valeur que je cherche à obtenir est dans table2/champ2, lequel
| contient une valeur incrémentée et que cette valeur varie à chaque
| nouvel enregistrement. J'ai donc réellement besoin de sélectionner
| l'enregistrement de table2 à partir de la valeur de table1/champ1, et
| c'est ce que je ne sais pas faire, ni par requête, ni par un SELECT.
| Bref, maintenant que tu m'as expliqué comment tester sur NewRecord, il
| ne me manque plus que de savoir comment appeler l'enregistrement dans
| table2.



Cela n'explique pas pourquoi tu veux avoir cette même valeur (incrémentée ou non)
dans une seconde table qui possède *déjà* une relation !!

Lorsque tu aura besoin de cette valeur, dans une requête tu choisis les
champs d'une table ET ce champ incrémenté de l'autre table.
Grâce à la relation, Access te donnera la valeur souhaitée.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/