Déplacement d'enregistrement sur Access 2003

Résolu/Fermé
netband Messages postés 6 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 16 février 2009 - 29 avril 2008 à 15:56
netband Messages postés 6 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 16 février 2009 - 26 mai 2008 à 08:34
Voila,

J'ai une table avec un nombre de clients. J'ai un form qui affiche tout ces clients et à côté de chaque personne il y a un bouton qui offre la possibilité d'éffacer cet enregistrement. Jusque là tout marche.

Mais j'aimerais bien pouvoir enregistrer le client que j'éfface dans un autre table en un seul bouton.

Comme cela, j'ai une table avec mes clients actifs et une table avec une trace de mes clients passifs.

Je voudrais donc connaitre le code a inséré sur le bouton pour réaliser cette magie.

Merci a vous !
A voir également:

3 réponses

Bonsoir Netband,

Une piste pour solutionner votre problème :
En VBA, tapez le code suivant dans la procédure concernée (private sub cmdSupprimer_OnClick(), par exemple):

' === Début de code ===
Dim dbs as DAO.database
Dim rs1 as DAO.recordset, rs2 as DAO.recordset

set dbs = Currentdb()
set rs1 = dbs.openrecordset("MesClientsASupprimer", dbOpenTable)
set rs2 = dbs.openrecordset("MesClientsAArchiver", dbOpenTable)

with rs1
.index = "PrimaryKey"
.seek "=", "La clé primaire à chercher" ' Le numéro ou le code client par exemple

if not .nomatch then
with rs2
.addnew
!NomClient = rs1!NomClient
!PrenomClient = rs1!PrenomClient
.update
end with
.delete
.update
else
Msgbox "Client non trouvé"
end if
end with

set rs2 = nothing
set rs1 = nothing
set dbs = nothing

' === Fin de code ===

En espérant vous avoir aidé(e).

Cordialement,
BarLogan
2
netband Messages postés 6 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 16 février 2009 1
30 avril 2008 à 08:27
Je vois que dans votre exemple vous utiliser deux variables (NomClient et PrénomClient), Dans ma table il y a a peux près 25 champs.

Dois-je tout recopier ou alors je peux mettre une commande qui me permet de copier l'intégralité de la table ?

Merci pour la réponse rapide en tout cas !
1
BartLogan Messages postés 10 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 1 mai 2008
30 avril 2008 à 18:38
Bonjour Netband,

Vous pouvez utiliser une boucle pour copier l'intégralité de la table en éditant le code que j'ai écrit comme suit :

Dim dbs as DAO.database 
Dim rs1 as DAO.recordset, rs2 as DAO.recordset 
Dim iCpt as integer
...
...
.addnew 
For iCpt = 0 to 24
    rs2(iCpt) = rs1(iCpt)
Next iCpt
.update 
...


ATTENTION: les deux tables doivent avoir la même structure.
0
netband Messages postés 6 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 16 février 2009 1
26 mai 2008 à 08:34
Merci à toi, ton astuce fonctionne à merveille !

Bonne fin de journée !
0