Bonjour,
j'utilise un sous formulaire en feuille de données.
Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette
enregistrement disparait car ma requête impose de ne garder que les
enregistrements non selectionnés. Mais le problême, c'est qu'à chaque
requery pour supprimé de la liste l'enregistrement que je viens de
selectionner, il me repositionne à chaque fois au début de ma liste.
Y à t_il un moyen de connaitre sa position dans cette feuille de donnée, et
comment se repositionné à l'enregistrement suivant celui qui à été supprimé
?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
tu peux utiliser un recordset basé sur ton formulaire et agir sur les événement de suppression:
Dim Pos As Long Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer) Me.Requery Rs.Move Pos End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Set Rs = Me.Recordset Pos = Me.CurrentRecord End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e6478$0$314$
Bonjour, j'utilise un sous formulaire en feuille de données. Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette enregistrement disparait car ma requête impose de ne garder que les enregistrements non selectionnés. Mais le problême, c'est qu'à chaque requery pour supprimé de la liste l'enregistrement que je viens de selectionner, il me repositionne à chaque fois au début de ma liste. Y à t_il un moyen de connaitre sa position dans cette feuille de donnée, et
comment se repositionné à l'enregistrement suivant celui qui à été supprimé
?
Pas simple à expliquer Merci par avance.
Dbl
Bonsoir.
tu peux utiliser un recordset basé sur ton formulaire et agir sur les
événement de suppression:
Dim Pos As Long
Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer)
Me.Requery
Rs.Move Pos
End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Set Rs = Me.Recordset
Pos = Me.CurrentRecord
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" <pyxis@club-internet.fr> a écrit dans le message de
news:410e6478$0$314$7a628cd7@news.club-internet.fr...
Bonjour,
j'utilise un sous formulaire en feuille de données.
Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette
enregistrement disparait car ma requête impose de ne garder que les
enregistrements non selectionnés. Mais le problême, c'est qu'à chaque
requery pour supprimé de la liste l'enregistrement que je viens de
selectionner, il me repositionne à chaque fois au début de ma liste.
Y à t_il un moyen de connaitre sa position dans cette feuille de donnée,
et
comment se repositionné à l'enregistrement suivant celui qui à été
supprimé
tu peux utiliser un recordset basé sur ton formulaire et agir sur les événement de suppression:
Dim Pos As Long Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer) Me.Requery Rs.Move Pos End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Set Rs = Me.Recordset Pos = Me.CurrentRecord End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e6478$0$314$
Bonjour, j'utilise un sous formulaire en feuille de données. Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette enregistrement disparait car ma requête impose de ne garder que les enregistrements non selectionnés. Mais le problême, c'est qu'à chaque requery pour supprimé de la liste l'enregistrement que je viens de selectionner, il me repositionne à chaque fois au début de ma liste. Y à t_il un moyen de connaitre sa position dans cette feuille de donnée, et
comment se repositionné à l'enregistrement suivant celui qui à été supprimé
?
Pas simple à expliquer Merci par avance.
Dbl
Db
Quand je disait supprimer, c'était plutôt, ne plus faire apparaître(l'enregistrement existe toujours mais n'a plus les critères lui permettant d'apparaître sur la liste). En fait , c'est comme un marché. Je choisi des articles que je veut retrouver dans un autre formulaire. A chaque fois que je les sélectionne ils disparaissent de la liste en cours. Au fur et à mesure de mes choix, le sélecteur devrait rester au choix suivant et pas tout au début. Pas simple. Merci encore. dbl
"Raymond [mvp]" a écrit dans le message de news:
Bonsoir.
tu peux utiliser un recordset basé sur ton formulaire et agir sur les événement de suppression:
Dim Pos As Long Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer) Me.Requery Rs.Move Pos End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Set Rs = Me.Recordset Pos = Me.CurrentRecord End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e6478$0$314$
Bonjour, j'utilise un sous formulaire en feuille de données. Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette
enregistrement disparait car ma requête impose de ne garder que les enregistrements non selectionnés. Mais le problême, c'est qu'à chaque requery pour supprimé de la liste l'enregistrement que je viens de selectionner, il me repositionne à chaque fois au début de ma liste. Y à t_il un moyen de connaitre sa position dans cette feuille de donnée, et
comment se repositionné à l'enregistrement suivant celui qui à été supprimé
?
Pas simple à expliquer Merci par avance.
Dbl
Quand je disait supprimer, c'était plutôt, ne plus faire
apparaître(l'enregistrement existe toujours mais n'a plus les critères lui
permettant d'apparaître sur la liste).
En fait , c'est comme un marché.
Je choisi des articles que je veut retrouver dans un autre formulaire.
A chaque fois que je les sélectionne ils disparaissent de la liste en cours.
Au fur et à mesure de mes choix, le sélecteur devrait rester au choix
suivant et pas tout au début.
Pas simple.
Merci encore.
dbl
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: emsKfkLeEHA.3928@TK2MSFTNGP11.phx.gbl...
Bonsoir.
tu peux utiliser un recordset basé sur ton formulaire et agir sur les
événement de suppression:
Dim Pos As Long
Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer)
Me.Requery
Rs.Move Pos
End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Set Rs = Me.Recordset
Pos = Me.CurrentRecord
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" <pyxis@club-internet.fr> a écrit dans le message de
news:410e6478$0$314$7a628cd7@news.club-internet.fr...
Bonjour,
j'utilise un sous formulaire en feuille de données.
Lorsque je fais un choix a l'aide d'une combo sur un enregistrement,
cette
enregistrement disparait car ma requête impose de ne garder que les
enregistrements non selectionnés. Mais le problême, c'est qu'à chaque
requery pour supprimé de la liste l'enregistrement que je viens de
selectionner, il me repositionne à chaque fois au début de ma liste.
Y à t_il un moyen de connaitre sa position dans cette feuille de donnée,
et
comment se repositionné à l'enregistrement suivant celui qui à été
supprimé
Quand je disait supprimer, c'était plutôt, ne plus faire apparaître(l'enregistrement existe toujours mais n'a plus les critères lui permettant d'apparaître sur la liste). En fait , c'est comme un marché. Je choisi des articles que je veut retrouver dans un autre formulaire. A chaque fois que je les sélectionne ils disparaissent de la liste en cours. Au fur et à mesure de mes choix, le sélecteur devrait rester au choix suivant et pas tout au début. Pas simple. Merci encore. dbl
"Raymond [mvp]" a écrit dans le message de news:
Bonsoir.
tu peux utiliser un recordset basé sur ton formulaire et agir sur les événement de suppression:
Dim Pos As Long Dim Rs As DAO.Recordset
Private Sub Form_AfterDelConfirm(Status As Integer) Me.Requery Rs.Move Pos End Sub
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Set Rs = Me.Recordset Pos = Me.CurrentRecord End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e6478$0$314$
Bonjour, j'utilise un sous formulaire en feuille de données. Lorsque je fais un choix a l'aide d'une combo sur un enregistrement, cette
enregistrement disparait car ma requête impose de ne garder que les enregistrements non selectionnés. Mais le problême, c'est qu'à chaque requery pour supprimé de la liste l'enregistrement que je viens de selectionner, il me repositionne à chaque fois au début de ma liste. Y à t_il un moyen de connaitre sa position dans cette feuille de donnée, et
comment se repositionné à l'enregistrement suivant celui qui à été supprimé
?
Pas simple à expliquer Merci par avance.
Dbl
Raymond [mvp]
Qu'à cela ne tienne, ça change les événements mais pas les fonctions que tu peux utiliser.
Set Rs = Me.Recordset Pos = Me.CurrentRecord ' ici ta procédure Me.Requery Rs.Move Pos End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e9026$0$306$
Quand je disait supprimer, c'était plutôt, ne plus faire apparaître(l'enregistrement existe toujours mais n'a plus les critères lui permettant d'apparaître sur la liste). En fait , c'est comme un marché. Je choisi des articles que je veut retrouver dans un autre formulaire. A chaque fois que je les sélectionne ils disparaissent de la liste en cours.
Au fur et à mesure de mes choix, le sélecteur devrait rester au choix suivant et pas tout au début. Pas simple. Merci encore. dbl
Qu'à cela ne tienne, ça change les événements mais pas les fonctions que tu
peux utiliser.
Set Rs = Me.Recordset
Pos = Me.CurrentRecord
' ici ta procédure
Me.Requery
Rs.Move Pos
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" <pyxis@club-internet.fr> a écrit dans le message de
news:410e9026$0$306$7a628cd7@news.club-internet.fr...
Quand je disait supprimer, c'était plutôt, ne plus faire
apparaître(l'enregistrement existe toujours mais n'a plus les critères lui
permettant d'apparaître sur la liste).
En fait , c'est comme un marché.
Je choisi des articles que je veut retrouver dans un autre formulaire.
A chaque fois que je les sélectionne ils disparaissent de la liste en
cours.
Au fur et à mesure de mes choix, le sélecteur devrait rester au choix
suivant et pas tout au début.
Pas simple.
Merci encore.
dbl
Qu'à cela ne tienne, ça change les événements mais pas les fonctions que tu peux utiliser.
Set Rs = Me.Recordset Pos = Me.CurrentRecord ' ici ta procédure Me.Requery Rs.Move Pos End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410e9026$0$306$
Quand je disait supprimer, c'était plutôt, ne plus faire apparaître(l'enregistrement existe toujours mais n'a plus les critères lui permettant d'apparaître sur la liste). En fait , c'est comme un marché. Je choisi des articles que je veut retrouver dans un autre formulaire. A chaque fois que je les sélectionne ils disparaissent de la liste en cours.
Au fur et à mesure de mes choix, le sélecteur devrait rester au choix suivant et pas tout au début. Pas simple. Merci encore. dbl
Raymond [mvp]
Bonjour.
vu que tu es sur un sous-formulaire, tu peux faire aussi, sur l'événement click, je pense, ou afterupdate: Private Sub Lechamp_AfterUpdate() ' par exemple Dim Bk As Variant Bk = Me.Bookmark Me.Requery Me.Bookmark = Bk End Sub Lechamp est un contrôle sur une ligne du sous-formulaire. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410f21db$0$309$ J'ai en effet compris la manip, elle est judicieuse, mais malheureusement, la méthode Move échoue. Après le Requery, l'enregistrement passe à 1 et ne veut pas passé à 193 (pour l'exemple). Le "focus" reste sur la combo de la première ligne et la méthode Move ne change rien... De plus, dans l'After Update de ma combo de mon formulaire(affichage en feuille de données), il n'y a pas Me.Recordset, mais Me.RecordsetClone. Est-ce un problème? Aie Aie Aie Désolé. Dbl
Bonjour.
vu que tu es sur un sous-formulaire, tu peux faire aussi, sur l'événement
click, je pense, ou afterupdate:
Private Sub Lechamp_AfterUpdate() ' par exemple
Dim Bk As Variant
Bk = Me.Bookmark
Me.Requery
Me.Bookmark = Bk
End Sub
Lechamp est un contrôle sur une ligne du sous-formulaire.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" <pyxis@club-internet.fr> a écrit dans le message de
news:410f21db$0$309$7a628cd7@news.club-internet.fr...
J'ai en effet compris la manip, elle est judicieuse, mais malheureusement,
la méthode Move échoue.
Après le Requery, l'enregistrement passe à 1 et ne veut pas passé à 193
(pour l'exemple).
Le "focus" reste sur la combo de la première ligne et la méthode Move ne
change rien...
De plus, dans l'After Update de ma combo de mon formulaire(affichage en
feuille de données), il n'y a pas Me.Recordset, mais Me.RecordsetClone.
Est-ce un problème?
Aie Aie Aie
Désolé.
Dbl
vu que tu es sur un sous-formulaire, tu peux faire aussi, sur l'événement click, je pense, ou afterupdate: Private Sub Lechamp_AfterUpdate() ' par exemple Dim Bk As Variant Bk = Me.Bookmark Me.Requery Me.Bookmark = Bk End Sub Lechamp est un contrôle sur une ligne du sous-formulaire. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Db" a écrit dans le message de news:410f21db$0$309$ J'ai en effet compris la manip, elle est judicieuse, mais malheureusement, la méthode Move échoue. Après le Requery, l'enregistrement passe à 1 et ne veut pas passé à 193 (pour l'exemple). Le "focus" reste sur la combo de la première ligne et la méthode Move ne change rien... De plus, dans l'After Update de ma combo de mon formulaire(affichage en feuille de données), il n'y a pas Me.Recordset, mais Me.RecordsetClone. Est-ce un problème? Aie Aie Aie Désolé. Dbl