J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur:
Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement
ce que je souhaite c'est me retrouver positionné sur l'enregistrement
précedant
celui que je viens d'effacer (et pas sur le 1er enregistrement de mon
formulaire)
Voici le code à incriminer:
Dim Book As Variant
Book = Me.Bookmark
DoCmd.RunSQL "DELETE * FROM matable ........." _
Me.Requery
Me.Bookmark = Book
DoCmd.GoToRecord , , acPrevious
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.
delete * supprime tous les enregistrements, j'espère qu'il y a une clause where ? le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer et recharger l'ancienne valeur. pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même à t'occuper du bookmark.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:OzBV%
Bonjour
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur:
Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement
ce que je souhaite c'est me retrouver positionné sur l'enregistrement précedant celui que je viens d'effacer (et pas sur le 1er enregistrement de mon formulaire)
Voici le code à incriminer:
Dim Book As Variant
Book = Me.Bookmark DoCmd.RunSQL "DELETE * FROM matable ........." _ Me.Requery Me.Bookmark = Book DoCmd.GoToRecord , , acPrevious
ou est l'erreur ?
merci pour votre aide Alain
Bonsoir.
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
pourquoi passer par une requête au lieu de supprimer directement
l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même à
t'occuper du bookmark.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" <alain.teyssedre-NoSpam@libertysurf.fr> a écrit dans le
message de news:OzBV%23Y1uDHA.3220@tk2msftngp13.phx.gbl...
Bonjour
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message
d'erreur:
Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un
enregistrement
ce que je souhaite c'est me retrouver positionné sur l'enregistrement
précedant
celui que je viens d'effacer (et pas sur le 1er enregistrement de mon
formulaire)
Voici le code à incriminer:
Dim Book As Variant
Book = Me.Bookmark
DoCmd.RunSQL "DELETE * FROM matable ........." _
Me.Requery
Me.Bookmark = Book
DoCmd.GoToRecord , , acPrevious
delete * supprime tous les enregistrements, j'espère qu'il y a une clause where ? le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer et recharger l'ancienne valeur. pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même à t'occuper du bookmark.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:OzBV%
Bonjour
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur:
Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement
ce que je souhaite c'est me retrouver positionné sur l'enregistrement précedant celui que je viens d'effacer (et pas sur le 1er enregistrement de mon formulaire)
Voici le code à incriminer:
Dim Book As Variant
Book = Me.Bookmark DoCmd.RunSQL "DELETE * FROM matable ........." _ Me.Requery Me.Bookmark = Book DoCmd.GoToRecord , , acPrevious
ou est l'erreur ?
merci pour votre aide Alain
3stone
Salut,
"Alain TEYSSEDRE"
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur: Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement ce que je souhaite c'est me retrouver positionné sur l'enregistrement précedant celui que je viens d'effacer (et pas sur le 1er enregistrement de mon formulaire)
On Error Resume Next DoCmd.RunCommand acCmdDeleteRecord
With Me.RecordsetClone .Bookmark = Me.Bookmark .MovePrevious Me.Bookmark = .Bookmark End With
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Salut,
"Alain TEYSSEDRE"
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur:
Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement
ce que je souhaite c'est me retrouver positionné sur l'enregistrement
précedant
celui que je viens d'effacer (et pas sur le 1er enregistrement de mon
formulaire)
On Error Resume Next
DoCmd.RunCommand acCmdDeleteRecord
With Me.RecordsetClone
.Bookmark = Me.Bookmark
.MovePrevious
Me.Bookmark = .Bookmark
End With
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
J'ai essayé d'utiliser la propriété Bookmark mais j'ai un message d'erreur: Signet non valide
en fait j'ai un bouton de commande qui me permet d'effacer un enregistrement ce que je souhaite c'est me retrouver positionné sur l'enregistrement précedant celui que je viens d'effacer (et pas sur le 1er enregistrement de mon formulaire)
On Error Resume Next DoCmd.RunCommand acCmdDeleteRecord
With Me.RecordsetClone .Bookmark = Me.Bookmark .MovePrevious Me.Bookmark = .Bookmark End With
-- A+ Pierre (3stone) Access MVP -------------------------------------- Une pour tous, tous pour une ;-) http://users.skynet.be/mpfa/charte.htm --------------------------------------
Alain TEYSSEDRE
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation du bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next
DoCmd.SetWarnings True Me.Liste149.Requery Me.Requery Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore une fois) qui ne suppporte pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais avec le SQL Delete ...
@+ Alain
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du
formulaire
(qui n'est pas forcemment le 1er enregistrement de la table)
En plus je suis obligé de faire 2 requery (cf ci dessous) et ça
fait que je me retrouve
sur le 1 ere enregsitrement du formulaire malgré l'utilisation du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False
Dim Book As Variant
On Error Resume Next
DoCmd.SetWarnings True
Me.Liste149.Requery
Me.Requery
Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement
l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même
à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore
une fois) qui ne suppporte
pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais
avec le SQL Delete ...
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation du bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next
DoCmd.SetWarnings True Me.Liste149.Requery Me.Requery Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore une fois) qui ne suppporte pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais avec le SQL Delete ...
@+ Alain
Raymond [mvp]
Bonsoir.
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier enregistrement ou même sur un nouvel enregistrement. et selon le résultat tu te positionnes en amont ou en aval de l'enregistrement actif et tu gardes la valeur du bookmark pour le retour après suppression.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:%
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next
DoCmd.SetWarnings True Me.Liste149.Requery Me.Requery Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même
à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore une fois) qui ne suppporte pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais avec le SQL Delete ...
@+ Alain
Bonsoir.
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier
enregistrement ou même sur un nouvel enregistrement. et selon le résultat tu
te positionnes en amont ou en aval de l'enregistrement actif et tu gardes la
valeur du bookmark pour le retour après suppression.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" <alain.teyssedre-NoSpam@libertysurf.fr> a écrit dans le
message de news:%23wfB9JJvDHA.1088@tk2msftngp13.phx.gbl...
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une
clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il
faut
d'abord se positionner sur le précédent , mémoriser le bookmark,
supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du
formulaire
(qui n'est pas forcemment le 1er enregistrement de la table)
En plus je suis obligé de faire 2 requery (cf ci dessous) et ça
fait que je me retrouve
sur le 1 ere enregsitrement du formulaire malgré l'utilisation
du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False
Dim Book As Variant
On Error Resume Next
DoCmd.SetWarnings True
Me.Liste149.Requery
Me.Requery
Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement
l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras
même
à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore
une fois) qui ne suppporte
pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais
avec le SQL Delete ...
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier enregistrement ou même sur un nouvel enregistrement. et selon le résultat tu te positionnes en amont ou en aval de l'enregistrement actif et tu gardes la valeur du bookmark pour le retour après suppression.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:%
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next
DoCmd.SetWarnings True Me.Liste149.Requery Me.Requery Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même
à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore une fois) qui ne suppporte pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais avec le SQL Delete ...
@+ Alain
Alain TEYSSEDRE
Bonjour Pierre et Raymond
merci à vous deux en conbinant vos conseils ça marche
@+ Alain
"Raymond [mvp]" a écrit dans le message de news:%
Bonsoir.
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier enregistrement ou même sur un nouvel enregistrement. et selon le résultat tu
te positionnes en amont ou en aval de l'enregistrement actif et tu gardes la
valeur du bookmark pour le retour après suppression.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:%
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du
formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça
fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation
du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next
DoCmd.SetWarnings True Me.Liste149.Requery Me.Requery Me.Bookmark = Book
pourquoi passer par une requête au lieu de supprimer directement l'enregistrement par DoCmd.RunCommand acCmdDeleteRecord et tu n'auras même
à
t'occuper du bookmark.
==> C'est vrai mais j'ai un bout de code (type usine à gaz encore
une fois) qui ne suppporte pas le DoCmd.RunCommand acCmdDeleteRecord alors je fais avec le SQL Delete ...
@+ Alain
Bonjour Pierre et Raymond
merci à vous deux en conbinant vos conseils ça marche
@+
Alain
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:%236avctOvDHA.3256@TK2MSFTNGP11.phx.gbl...
Bonsoir.
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier
enregistrement ou même sur un nouvel enregistrement. et selon le résultat
tu
te positionnes en amont ou en aval de l'enregistrement actif et tu gardes
la
valeur du bookmark pour le retour après suppression.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" <alain.teyssedre-NoSpam@libertysurf.fr> a écrit dans le
message de news:%23wfB9JJvDHA.1088@tk2msftngp13.phx.gbl...
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une
clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il
faut
d'abord se positionner sur le précédent , mémoriser le bookmark,
supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement
du
formulaire
(qui n'est pas forcemment le 1er enregistrement de la table)
En plus je suis obligé de faire 2 requery (cf ci dessous) et
ça
fait que je me retrouve
sur le 1 ere enregsitrement du formulaire malgré
l'utilisation
du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False
Dim Book As Variant
On Error Resume Next
merci à vous deux en conbinant vos conseils ça marche
@+ Alain
"Raymond [mvp]" a écrit dans le message de news:%
Bonsoir.
Il faut que tu rajoutes des tests pour savoir si tu es sur le premier enregistrement ou même sur un nouvel enregistrement. et selon le résultat tu
te positionnes en amont ou en aval de l'enregistrement actif et tu gardes la
valeur du bookmark pour le retour après suppression.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Alain TEYSSEDRE" a écrit dans le message de news:%
Bonjour Raymond
désolé mais j'ai du m'absenter, je reprends le fil ...
delete * supprime tous les enregistrements, j'espère qu'il y a une clause
where ?
===> affirmatif
le boomark n'a plus de valeur car l'enregistrement n'existe plus, il faut
d'abord se positionner sur le précédent , mémoriser le bookmark, supprimer
et recharger l'ancienne valeur.
==> Oui mais le pb c'est lorsque je suis sur le 1er enregistrement du
formulaire (qui n'est pas forcemment le 1er enregistrement de la table) En plus je suis obligé de faire 2 requery (cf ci dessous) et ça
fait que je me retrouve sur le 1 ere enregsitrement du formulaire malgré l'utilisation
du
bookmark
J'ai fait ça mais ça ne va pas:
DoCmd.SetWarnings False Dim Book As Variant On Error Resume Next