Copier une ligne dans access

Signaler
Messages postés
26
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
15 septembre 2005
-
Messages postés
48
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
5 avril 2006
-
Bonjour,
l'info que je cherche se trouve surement cachée qq part vu la richesse du forum, mais meme aprés une longue recherche je n'ai rien trouvé.

Voici mon probleme:
Pour simplifier on va dire que j'ai un table "Monsieur" avec comme champs :
id_monsieur (clé primaire)
nom_monsieur
prenom_monsieur

Je fais:
SQL = "Select * from Monsieur where nom_monsieur='" Dupond"'"
Set RS = DB.OpenRecordset(SQL, dbOpenSnapshot)

Dans RS je recupere dc l'enregistrement de Mr Dupond

J'aimerai creer un nouvel enregistrement dans la table en donnant moi meme le nouvel id et en recuperant le reste des champs automatiquement

Voila ce que j'ai essayé (enfin, j'ai pas essayé que ca lol):

Set RS2=DB.OpenRecordset("Monsieur")
RS2.AddNew
(**il me manque cette ligne ou je créé l'affectation**)
RS2.fields("id_monsieur")=3

Merci bcp a celui (ou celle) qui se penchera sur mon tit probleme,
Mathieu.

Absolut Beauty

3 réponses

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Set RS = DB.OpenRecordset("Select * from Monsieur where nom_monsieur='" Dupond"'")
if RS.recordcount<>0 then
Set Ajout = DB.OpenRecordset("Select * from Monsieur)
Ajout.Addnew
Ajout("Id_Monsieur")=MaNouvelleValeur
Ajout("nom_monsieur")=RS("nom_monsieur)
Ajout("prenom_monsieur")=RS("prenom_monsieur)
Ajout.update
End if
Set Ajout=nothing
Set RS=nothing

It@li@
Messages postés
26
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
15 septembre 2005

Oui, en dernier recours il me reste cette solution bien entendu, mais le nombre de champs est trés important, et j'ai cette operation a réaliser sur plusieurs tables...je vais vite arriver a une centaine d'affectations de ce type, d'ou mon envie de copier/coller directement toute la ligne.
En tout cas merci, et si tu es un fan de foot tte mes condoléances pour hier soir :D
Mathieu.
Messages postés
48
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
5 avril 2006

Bon alors si j'ai bien compris, tu veux récupérer une ligne dans ta table, créer une ligne dans ta table avec les mêmes nom et prénom mais avec un id différent.

Si c'est bien ca alors je te fais en une fois avec une seule requête:

Dim sql as string
sql "INSERT INTO Monsieur (Id_Monsieur,nom_Monsieur,prenom_Monsieur) Select " & MaNouvelleValeur & ", nom_Monsieur, prenom_Monsieur FROM Monsieur WHERE nom_Monsieur '" & LeNomSouhaité & "'"

Docmd.RunSQL(sql)

Et voilà

Si c'est pas ca que tu veux, explique moi ce que tu veux exactement

:big) Ah l'informatique c'est bien quant même :big)