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

Garder le focus sur le même enregistrement après la MAJ d'un formulaire

13 réponses
Avatar
hadrum
Bonjour,
J'ai un formulaire 1 et un sous formulaire 2 qui est incorporé dans le formulaire 1.
Le formulaire 1 a comme source une requête 1
Le sous formulaire 2 a comme source une table 2
Dans le sous-formulaire 2 j'ai plusieurs champs auxquels j'ai attribué à chacun le code suivant pour mettre à jour le formulaire 1.

Private Sub Budget_AfterUpdate()
Forms![Formulaire1].Requery
End Sub

Le problème c'est que chaque fois je mets à jour un champs du sous formulaire 2 le focus se met automatiquement sur le 1er enregistrement. Je voudrais que le focus reste sur le même enregistrement que j'ai mis à jour.

Merci

3 réponses

1 2
Avatar
3stone
Salut,

"hadrum"
[...]
| Cette technique je la connais mais j'ai pas voulu l'utiliser car ma requête qui
| somme je l'utilise pour générer des rapports et je m'en sert aussi pour d'autre
| fonctions. Donc je veux vraiment l'utiliser et mettre à jour le formulaire qui
| lui est associé. J'ai trouver le même problème sur un autre forum et il parait
| qu'il ont trouver la solution mais j'ai pas trouvé comment l'implanter à mon
| cas.


A relire le fil, je me demande ce que tu cherche à faire réellement...

- Tu dis faire de ajouts/modifs dans un sous-formulaire
- Puis tu fais un requery sur le "formulaire principal"
Là, tu dis qu'il se place sur le premier enregistrement
- Tu dis aussi que ce formulaire principal est basé sur une requête
qui fait... des sommes...
Ce formulaire n'aurait donc qu'un seul enregistrement ?

Pour comprendre le bricolage, il faudrait que tu expliques clairement
sur quoi est basé le formulaire principal, le sous-formulaire et la
relation entre les deux.

Donne un exemple des données que tu manipules.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
hadrum
3stone a écrit le 02/10/2008 à 18h23 :
Salut,

"hadrum"
[...]
| Cette technique je la connais mais j'ai pas voulu l'utiliser car ma
requête qui
| somme je l'utilise pour générer des rapports et je m'en sert
aussi pour d'autre
| fonctions. Donc je veux vraiment l'utiliser et mettre à jour le
formulaire qui
| lui est associé. J'ai trouver le même problème sur un
autre forum et il parait
| qu'il ont trouver la solution mais j'ai pas trouvé comment l'implanter
à mon
| cas.


A relire le fil, je me demande ce que tu cherche à faire
réellement...

- Tu dis faire de ajouts/modifs dans un sous-formulaire
- Puis tu fais un requery sur le "formulaire principal"
Là, tu dis qu'il se place sur le premier enregistrement
- Tu dis aussi que ce formulaire principal est basé sur une
requête
qui fait... des sommes...
Ce formulaire n'aurait donc qu'un seul enregistrement ?

Pour comprendre le bricolage, il faudrait que tu expliques clairement
sur quoi est basé le formulaire principal, le sous-formulaire et la
relation entre les deux.

Donne un exemple des données que tu manipules.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)


Ok je reprends,

J'ai deux tables (table1) et (Table2) qui sont liés par un lien 1 à plusieurs (Table1)1 à (table2) Plusieurs.
La clé primaire de la table 1 est un champs appelé Code et la clé primaire dans la table 2 est UnicKey et j'ai aussi une clé étrangère dans la table 2 appelé Code qui fait le lien avec la clé primaire (Code) de la table1.
La table 2 a plusieurs champs principalement des nombres. J'ai aussi une requête (Req1) qui fait la somme des champs de la table 2 par Code.
J'ai également un formulaire (Form2) qui a comme source la table 2 et un autre formulaire (Form1) qui lui a comme source Req 1.
Ensuite j'ai inséré le Form2 Dans le Form1.
Mon but est de mettre à jour les sommes du Form1 chaque fois que je change une valeur des champs du form 2.
Alors j'ai insérer la fonction requery aprés la mise à jour du Form2. Mais chaque fois que je change une valeur il me retourne au premier enregistrement et il me sort la boite de débogage avec ce message.

erreur 3159 Signet non valide

Je voudrais qu'il reste à l'enregistrement d'où j'ai effectuer le changement et faire la mise à jour.


Comme j'ai mentionner au message dernier tu trouveras le même problème que j'ai dans ce lien mais j'ai pas compris comment il ont pu résoudre le problème.

http://www.developpez.net/forums/d482196/hardware-systemes-logiciels/microsoft-office/access/ihm/requery-formulaire-revenir-lenregistrement-cours/
Avatar
Mathieu
On 2 oct, 22:05, hadrum wrote:
3stone a crit le 02/10/2008 18h23 :

> Salut,

> "hadrum"
> [...]
> | Cette technique je la connais mais j'ai pas voulu l'utiliser car ma
> requ te qui
> | somme je l'utilise pour g n rer des rapports et je m'en sert
> aussi pour d'autre
> | fonctions. Donc je veux vraiment l'utiliser et mettre jour le
> formulaire qui
> | lui est associ . J'ai trouver le m me probl me sur un
> autre forum et il parait
> | qu'il ont trouver la solution mais j'ai pas trouv comment l'implanter
> mon
> | cas.

> A relire le fil, je me demande ce que tu cherche faire
> r ellement...

> - Tu dis faire de ajouts/modifs dans un sous-formulaire
> - Puis tu fais un requery sur le "formulaire principal"
> L , tu dis qu'il se place sur le premier enregistrement
> - Tu dis aussi que ce formulaire principal est bas sur une
> requ te
> qui fait... des sommes...
> Ce formulaire n'aurait donc qu'un seul enregistrement ?

> Pour comprendre le bricolage, il faudrait que tu expliques clairement
> sur quoi est bas le formulaire principal, le sous-formulaire et la
> relation entre les deux.

> Donne un exemple des donn es que tu manipules.

> --
> A+
> Pierre (3stone) Access MVP
> Perso:http://www.3stone.be/
> MPFA:http://www.mpfa.info/ (infos g n rales)

Ok je reprends,

J'ai deux tables (table1) et (Table2) qui sont li s par un lien 1 plusieu rs
(Table1)1 (table2) Plusieurs.
La cl primaire de la table 1 est un champs appel Code et la cl primaire d ans
la table 2 est UnicKey et j'ai aussi une cl trang re dans la table 2 appe l
Code qui fait le lien avec la cl primaire (Code) de la table1.
La table 2 a plusieurs champs principalement des nombres. J'ai aussi une
requ te (Req1) qui fait la somme des champs de la table 2 par Code.
J'ai galement un formulaire (Form2) qui a comme source la table 2 et un a utre
formulaire (Form1) qui lui a comme source Req 1.
Ensuite j'ai ins r le Form2 Dans le Form1.
Mon but est de mettre jour les sommes du Form1 chaque fois que je change une
valeur des champs du form 2.
Alors j'ai ins rer la fonction requery apr s la mise jour du Form2. Mais
chaque fois que je change une valeur il me retourne au premier enregistre ment et
il me sort la boite de d bogage avec ce message.

erreur 3159 Signet non valide

Je voudrais qu'il reste l'enregistrement d'o j'ai effectuer le changement et
faire la mise jour.

Comme j'ai mentionner au message dernier tu trouveras le m me probl me qu e j'ai
dans ce lien mais j'ai pas compris comment il ont pu r soudre le probl me .

http://www.developpez.net/forums/d482196/hardware-systemes-logiciels/...



Bonjour,
et un truc du style :

Private Sub Budget_AfterUpdate()
Forms![Formulaire1].form.Recordset.Requery
End Sub

Mettant à jour uniquement l'enregistrement du form1 en cour.
Je ne sais pas si j'ai bien tout compris alors désolé si je réponds à
coté...
Mathieu
1 2