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

Rafraichir les données d'un formulaire continu sans modifier l'affichage

5 réponses
Avatar
Warrio
Bonjour
pour récupérer les données modifiée, j'utilise la fonction Requery.
seulement ca devient génant car celle ci replace le recordset on 1ere
position. et meme en enregistrant la position de l'enregistrement en cours
avant d'utiliser le requery, en utilisant:

myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
Me.Requery
DoCmd.GoToRecord, , , myPosition

et meme avec le code ci-dessus, la position indiquée se retrouve en haut de
la liste.

Comment faire alors pour rafraichir les données de la liste sans modifier la
position d'affichage des lignes?

Merci pour toute suggestion!

5 réponses

Avatar
3stone
Salut,

"Warrio"
| pour récupérer les données modifiée, j'utilise la fonction Requery.
| seulement ca devient génant car celle ci replace le recordset on 1ere
| position. et meme en enregistrant la position de l'enregistrement en cours
| avant d'utiliser le requery, en utilisant:
|
| myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
| Me.Requery
| DoCmd.GoToRecord, , , myPosition
|
| et meme avec le code ci-dessus, la position indiquée se retrouve en haut de
| la liste.
|
| Comment faire alors pour rafraichir les données de la liste sans modifier la
| position d'affichage des lignes?


Plusieures méthodes...

Si tu as un identifiant numérique, tu peux utiliser ceci:

Dim intID As Integer
Dim rs As DAO.Recordset
intID = Me.monID 'indentifiant du form et de ma requete
Set rs = Me.RecordsetClone

Me.Requery 'rafraichissement

rs.FindFirst "[monID] = " & intID
Me.Bookmark = rs.Bookmark

Set rs=Nothing


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
Warrio
Hello Pierre!
Merci pour ta réponse, seulement le code propsé à exactectement le même
effet que ce que j'ai essayé
c'est à dire que la flèche du RecordSelector pointe bien sur la bonne ligne,
seulement elle se trouve en tête de liste et donc l'affichage change..

Merci encore

"3stone" a écrit dans le message de news:
eZ9%
Salut,

"Warrio"
| pour récupérer les données modifiée, j'utilise la fonction Requery.
| seulement ca devient génant car celle ci replace le recordset on 1ere
| position. et meme en enregistrant la position de l'enregistrement en
cours
| avant d'utiliser le requery, en utilisant:
|
| myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
| Me.Requery
| DoCmd.GoToRecord, , , myPosition
|
| et meme avec le code ci-dessus, la position indiquée se retrouve en haut
de
| la liste.
|
| Comment faire alors pour rafraichir les données de la liste sans
modifier la
| position d'affichage des lignes?


Plusieures méthodes...

Si tu as un identifiant numérique, tu peux utiliser ceci:

Dim intID As Integer
Dim rs As DAO.Recordset
intID = Me.monID 'indentifiant du form et de ma requete
Set rs = Me.RecordsetClone

Me.Requery 'rafraichissement

rs.FindFirst "[monID] = " & intID
Me.Bookmark = rs.Bookmark

Set rs=Nothing


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




Avatar
argyronet
Bonjour,

En récupérant le N° de ligne ce doit être possible...
J'ai rédigé un tutoriel qui pourrait vous guider dans votre requête où vous
pourriez vous emparer de la fonction qui retourne le N° de l'enregistrement
et ainsi répondre à votre demande:
http://argyronet.developpez.com/office/access/highlightrecord/

Bon courage

Argy
--
Mes tutoriels sur http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Hello Pierre!
Merci pour ta réponse, seulement le code propsé à exactectement le même
effet que ce que j'ai essayé
c'est à dire que la flèche du RecordSelector pointe bien sur la bonne ligne,
seulement elle se trouve en tête de liste et donc l'affichage change..

Merci encore

"3stone" a écrit dans le message de news:
eZ9%
Salut,

"Warrio"
| pour récupérer les données modifiée, j'utilise la fonction Requery.
| seulement ca devient génant car celle ci replace le recordset on 1ere
| position. et meme en enregistrant la position de l'enregistrement en
cours
| avant d'utiliser le requery, en utilisant:
|
| myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
| Me.Requery
| DoCmd.GoToRecord, , , myPosition
|
| et meme avec le code ci-dessus, la position indiquée se retrouve en haut
de
| la liste.
|
| Comment faire alors pour rafraichir les données de la liste sans
modifier la
| position d'affichage des lignes?


Plusieures méthodes...

Si tu as un identifiant numérique, tu peux utiliser ceci:

Dim intID As Integer
Dim rs As DAO.Recordset
intID = Me.monID 'indentifiant du form et de ma requete
Set rs = Me.RecordsetClone

Me.Requery 'rafraichissement

rs.FindFirst "[monID] = " & intID
Me.Bookmark = rs.Bookmark

Set rs=Nothing


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









Avatar
Warrio
Salut Argy!
Votre application est vraiment bien! seulment elle ne répond pas du tout à
ma requete..
mon probleme survient quand vous rafraichissez votre form continu avec un
Requery!
si l'utilisateur au moment de cliquer sur l'enregistrement, je fais des
action sur les field et rafraichi avec le requery (puisque c'est le seul
moyen rapide) meme en replacant le recordSelector sur la bonne linge elle se
trouvera en haut de la liste, alors qu'il y avait plusieur ligne avant..

essayez et vous verrez le proplème

Merci encore!


"argyronet" a écrit dans le message de
news:
Bonjour,

En récupérant le N° de ligne ce doit être possible...
J'ai rédigé un tutoriel qui pourrait vous guider dans votre requête où
vous
pourriez vous emparer de la fonction qui retourne le N° de
l'enregistrement
et ainsi répondre à votre demande:
http://argyronet.developpez.com/office/access/highlightrecord/

Bon courage

Argy
--
Mes tutoriels sur http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Hello Pierre!
Merci pour ta réponse, seulement le code propsé à exactectement le même
effet que ce que j'ai essayé
c'est à dire que la flèche du RecordSelector pointe bien sur la bonne
ligne,
seulement elle se trouve en tête de liste et donc l'affichage change..

Merci encore

"3stone" a écrit dans le message de news:
eZ9%
Salut,

"Warrio"
| pour récupérer les données modifiée, j'utilise la fonction Requery.
| seulement ca devient génant car celle ci replace le recordset on 1ere
| position. et meme en enregistrant la position de l'enregistrement en
cours
| avant d'utiliser le requery, en utilisant:
|
| myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
| Me.Requery
| DoCmd.GoToRecord, , , myPosition
|
| et meme avec le code ci-dessus, la position indiquée se retrouve en
haut
de
| la liste.
|
| Comment faire alors pour rafraichir les données de la liste sans
modifier la
| position d'affichage des lignes?


Plusieures méthodes...

Si tu as un identifiant numérique, tu peux utiliser ceci:

Dim intID As Integer
Dim rs As DAO.Recordset
intID = Me.monID 'indentifiant du form et de ma requete
Set rs = Me.RecordsetClone

Me.Requery 'rafraichissement

rs.FindFirst "[monID] = " & intID
Me.Bookmark = rs.Bookmark

Set rs=Nothing


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











Avatar
Warrio
La réponse est simplement est simplement:

Me.Recalc au lieu de Me.requery

pourquoi je n'y avais pas pensé plutotot :))

Merci pour toutes les suggestions et de votre aide!




"Warrio" a écrit dans le message de news:
4346bff0$0$1152$
Salut Argy!
Votre application est vraiment bien! seulment elle ne répond pas du tout à
ma requete..
mon probleme survient quand vous rafraichissez votre form continu avec un
Requery!
si l'utilisateur au moment de cliquer sur l'enregistrement, je fais des
action sur les field et rafraichi avec le requery (puisque c'est le seul
moyen rapide) meme en replacant le recordSelector sur la bonne linge elle
se trouvera en haut de la liste, alors qu'il y avait plusieur ligne
avant..

essayez et vous verrez le proplème

Merci encore!


"argyronet" a écrit dans le message
de news:
Bonjour,

En récupérant le N° de ligne ce doit être possible...
J'ai rédigé un tutoriel qui pourrait vous guider dans votre requête où
vous
pourriez vous emparer de la fonction qui retourne le N° de
l'enregistrement
et ainsi répondre à votre demande:
http://argyronet.developpez.com/office/access/highlightrecord/

Bon courage

Argy
--
Mes tutoriels sur http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Hello Pierre!
Merci pour ta réponse, seulement le code propsé à exactectement le même
effet que ce que j'ai essayé
c'est à dire que la flèche du RecordSelector pointe bien sur la bonne
ligne,
seulement elle se trouve en tête de liste et donc l'affichage change..

Merci encore

"3stone" a écrit dans le message de news:
eZ9%
Salut,

"Warrio"
| pour récupérer les données modifiée, j'utilise la fonction Requery.
| seulement ca devient génant car celle ci replace le recordset on
1ere
| position. et meme en enregistrant la position de l'enregistrement en
cours
| avant d'utiliser le requery, en utilisant:
|
| myPosition = Me.Recordset.AbsolutPosition '(ou Me.CurrentRecord)
| Me.Requery
| DoCmd.GoToRecord, , , myPosition
|
| et meme avec le code ci-dessus, la position indiquée se retrouve en
haut
de
| la liste.
|
| Comment faire alors pour rafraichir les données de la liste sans
modifier la
| position d'affichage des lignes?


Plusieures méthodes...

Si tu as un identifiant numérique, tu peux utiliser ceci:

Dim intID As Integer
Dim rs As DAO.Recordset
intID = Me.monID 'indentifiant du form et de ma requete
Set rs = Me.RecordsetClone

Me.Requery 'rafraichissement

rs.FindFirst "[monID] = " & intID
Me.Bookmark = rs.Bookmark

Set rs=Nothing


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