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
pgz
Bonjour.
Qu'entends-tu par les n dernières? Il n'y a aucun ordre dans une table. Seule importe la règle de tri quand on l'affiche.
Il faut donc trouver un critère. Par exemple, si tu utilises un NumAuto : les n plus grands.
Bon courage, -- pgz
"Ce qui se conçoit mal s'exprime obscurément et les mots pour le dire arrivent péniblement." - dicomoche.net _____________________________ pgz.conseil at orange.fr
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
-- Merci, Guy du Lac
Bonjour.
Qu'entends-tu par les n dernières?
Il n'y a aucun ordre dans une table. Seule importe la règle de tri quand on
l'affiche.
Il faut donc trouver un critère. Par exemple, si tu utilises un NumAuto :
les n plus grands.
Bon courage,
--
pgz
"Ce qui se conçoit mal s'exprime obscurément et les mots pour le dire
arrivent péniblement." - dicomoche.net
_____________________________
pgz.conseil at orange.fr
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers
enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
Qu'entends-tu par les n dernières? Il n'y a aucun ordre dans une table. Seule importe la règle de tri quand on l'affiche.
Il faut donc trouver un critère. Par exemple, si tu utilises un NumAuto : les n plus grands.
Bon courage, -- pgz
"Ce qui se conçoit mal s'exprime obscurément et les mots pour le dire arrivent péniblement." - dicomoche.net _____________________________ pgz.conseil at orange.fr
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
-- Merci, Guy du Lac
JLCan
Bonjour guy, J'ai fait ce bout de code pour illustrer une solution à ton problème:
Public Const VarNombreSupprime = 3
Public Sub Efface()
Dim dbObj As Database Dim rsObj As Recordset
Dim I As Long
Set dbObj = CurrentDb() Set rsObj = dbObj.OpenRecordset("Bidons") With rsObj .MoveLast ' Pour se positionner à la fin des enregistrement For I = 1 To VarNombreSupprime .Delete ' Pour marquer l'enregistrement comme 'delete' .MovePrevious ' Attention l'enregistrement 'effacé' existe toujours Next I End With
End Sub
C'est du Access 97 mais ça va fonctionner sur toutes les versions ( là je suis optimiste!!!).
Bonne chance.
-- JLCan
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
-- Merci, Guy du Lac
Bonjour guy,
J'ai fait ce bout de code pour illustrer une solution à ton problème:
Public Const VarNombreSupprime = 3
Public Sub Efface()
Dim dbObj As Database
Dim rsObj As Recordset
Dim I As Long
Set dbObj = CurrentDb()
Set rsObj = dbObj.OpenRecordset("Bidons")
With rsObj
.MoveLast ' Pour se positionner à la fin des
enregistrement
For I = 1 To VarNombreSupprime
.Delete ' Pour marquer l'enregistrement comme
'delete'
.MovePrevious ' Attention l'enregistrement 'effacé' existe
toujours
Next I
End With
End Sub
C'est du Access 97 mais ça va fonctionner sur toutes les versions ( là je
suis optimiste!!!).
Bonne chance.
--
JLCan
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers
enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
Bonjour guy, J'ai fait ce bout de code pour illustrer une solution à ton problème:
Public Const VarNombreSupprime = 3
Public Sub Efface()
Dim dbObj As Database Dim rsObj As Recordset
Dim I As Long
Set dbObj = CurrentDb() Set rsObj = dbObj.OpenRecordset("Bidons") With rsObj .MoveLast ' Pour se positionner à la fin des enregistrement For I = 1 To VarNombreSupprime .Delete ' Pour marquer l'enregistrement comme 'delete' .MovePrevious ' Attention l'enregistrement 'effacé' existe toujours Next I End With
End Sub
C'est du Access 97 mais ça va fonctionner sur toutes les versions ( là je suis optimiste!!!).
Bonne chance.
-- JLCan
Bonjour à tous,
Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers enregistrements d'une table.
Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
-- Merci, Guy du Lac
Raymond [mvp]
Bonjour Guy.
Il faut partir du principe qu'une table n'est qu'un container de stockage en vrac et que tu peux afficher/gérer ce stock à l'aide d'un recordset en définissant l'ordre dans lequel tu présentes les enregistrements. Si tu n'indiques pas d'ordre de tri, la présentation peut être complètement aléatoire s'il n'y a jamais eu de tri réalisé directement sur la table. Même si un tri par défaut est indiqué dans la table, vba peut présenter les données dans son ordre préférentiel personnel. il n'y a qu'un seul moment très rare où tu peux afficher les enregistrements dans leur ordre de saisie, c'est lorsque la table est vierge, qu'elle est remplie et qu'aucun enregistrement n'est modifié. Donc pour être sûr que tes enregistrements pourront être traités dans leur ordre de saisie, il faut placer un index autonum(clé primaire ou non) et lire la table selon les valeur de cet index. donc pour supprimer les 5 derniers enregistrements de la table table1 tu peux faire directement,
DELETE * FROM (SELECT TOP 5 Table1.* FROM Table1 ORDER BY Table1.[no] DESC) AS MaRequete;
que tu peux lancer par le code vba directement. si tu es fana du vba tu peux aussi passer par un recordset avec la clause select ci-dessus mais c'est beaucoup plus long à écrire. -- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000? http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90
"Guy du Lac" a écrit dans le message de news: | Bonjour à tous, | | Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers | enregistrements d'une table. | | Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements | | -- | Merci, | Guy du Lac
Bonjour Guy.
Il faut partir du principe qu'une table n'est qu'un container de stockage en
vrac et que tu peux afficher/gérer ce stock à l'aide d'un recordset en
définissant l'ordre dans lequel tu présentes les enregistrements.
Si tu n'indiques pas d'ordre de tri, la présentation peut être complètement
aléatoire s'il n'y a jamais eu de tri réalisé directement sur la table. Même
si un tri par défaut est indiqué dans la table, vba peut présenter les
données dans son ordre préférentiel personnel. il n'y a qu'un seul moment
très rare où tu peux afficher les enregistrements dans leur ordre de saisie,
c'est lorsque la table est vierge, qu'elle est remplie et qu'aucun
enregistrement n'est modifié.
Donc pour être sûr que tes enregistrements pourront être traités dans leur
ordre de saisie, il faut placer un index autonum(clé primaire ou non) et
lire la table selon les valeur de cet index.
donc pour supprimer les 5 derniers enregistrements de la table table1 tu
peux faire directement,
DELETE * FROM (SELECT TOP 5 Table1.* FROM Table1 ORDER BY Table1.[no] DESC)
AS MaRequete;
que tu peux lancer par le code vba directement. si tu es fana du vba tu peux
aussi passer par un recordset avec la clause select ci-dessus mais c'est
beaucoup plus long à écrire.
--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/
Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000?
http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90
"Guy du Lac" <GuyduLac@discussions.microsoft.com> a écrit dans le message de
news: 1A7E7417-20FD-444F-BB8F-0C4EF028C218@microsoft.com...
| Bonjour à tous,
|
| Est-il possible par code vba de supprimer les (Var_nombre_supprime)
derniers
| enregistrements d'une table.
|
| Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements
|
| --
| Merci,
| Guy du Lac
Il faut partir du principe qu'une table n'est qu'un container de stockage en vrac et que tu peux afficher/gérer ce stock à l'aide d'un recordset en définissant l'ordre dans lequel tu présentes les enregistrements. Si tu n'indiques pas d'ordre de tri, la présentation peut être complètement aléatoire s'il n'y a jamais eu de tri réalisé directement sur la table. Même si un tri par défaut est indiqué dans la table, vba peut présenter les données dans son ordre préférentiel personnel. il n'y a qu'un seul moment très rare où tu peux afficher les enregistrements dans leur ordre de saisie, c'est lorsque la table est vierge, qu'elle est remplie et qu'aucun enregistrement n'est modifié. Donc pour être sûr que tes enregistrements pourront être traités dans leur ordre de saisie, il faut placer un index autonum(clé primaire ou non) et lire la table selon les valeur de cet index. donc pour supprimer les 5 derniers enregistrements de la table table1 tu peux faire directement,
DELETE * FROM (SELECT TOP 5 Table1.* FROM Table1 ORDER BY Table1.[no] DESC) AS MaRequete;
que tu peux lancer par le code vba directement. si tu es fana du vba tu peux aussi passer par un recordset avec la clause select ci-dessus mais c'est beaucoup plus long à écrire. -- @+ Raymond Access MVP http://OfficeSystemAccess.seneque.net/ http://officesystem.access.over-blog.com/ Pour débuter sur le forum: http://www.mpfa.info/
Partagez vos créations réalisées sous Office 2007 et gagnez peut-être 5000? http://www.comscamp.com/Tracker/Redirect.ashx?linkid"7641a0-797c-44d5-8774-d820448dbe90
"Guy du Lac" a écrit dans le message de news: | Bonjour à tous, | | Est-il possible par code vba de supprimer les (Var_nombre_supprime) derniers | enregistrements d'une table. | | Var_nombre_supprime = 5, alors je supprime les 5 derniers enregistrements | | -- | Merci, | Guy du Lac