VBA/Access transferer les champs d' 1 enreg. sur une autre table ? - VB/VBA/VBS - Programmation
Marsh Posté le 17-03-2003 à 22:34:23
tu ouvres un recordset sur chaque table, et pour l'enregistrement que tu veux copier, tu boucles sur les champs pour assigner chacun de la table source vers celle de destination, en ayant pris soin, au préalable, de te positionner correctement dans la source, et préparé l'ajout d'un nouvel enregistrement dans la seconde.
Je crois que le code sera plus court que ce que je viens d'énoncer
Marsh Posté le 18-03-2003 à 03:11:37
merci pour ta reponse ,
bon j' ai essayer de faire un truc mais j' ai une erreure avec mon findfirst qui marche pas , je pige pas
X est mon numero "numlivre" (donc l' enregistrement à deplacer de la table livre à livreperdu)
_____________________________________________________
ch = Chr$(34) & "NumLivre" & " = " & X & Chr$(34)
Set RS = db.TableDefs("livre" ).OpenRecordset(dbOpenSnapshot)
RS.FindFirst ch
Set RS2 = db.TableDefs("livreperdu" ).OpenRecordset(dbOpenTable)
For i = 0 To RS.Fields.Count - 1
RS2.addnew
RS2.Fields(i) = RS.Fields(i)
RS2.update
Next
___________________________________________________
J' ai l' umpression d' avoir fait un gros gloubiglouba là ,
y aurait pas un moyen plus simple avec une requête ?
Marsh Posté le 18-03-2003 à 10:34:58
il manque un truc dans ton code: boucler sur les fields, parce que là tu essaies d'assigner directement la collection, et cela ne peut marcher.
Marsh Posté le 18-03-2003 à 11:02:08
Dans du code, par exemple ...
docmd.runsql "INSERT INTO matable1 SELECT * FROM matable2"
Marsh Posté le 18-03-2003 à 13:30:37
merci à tous les deux , avec ca je devrais m' en sortir
va raiment falloir que je révise mon SQL , c' est la honte
Marsh Posté le 18-03-2003 à 13:31:08
Gulien a écrit : |
+1
Marsh Posté le 18-03-2003 à 14:53:44
OUF ayé ca marche , merci X1000
c' est quand meme plus zoli:
_______________________________________________
ch = "insert into LivrePerdu select * from Livre where numlivre = " & X
Set QD = db.CreateQueryDef("" )
QD.SQL = ch
QD.Execute
________________________________________________
Marsh Posté le 17-03-2003 à 22:16:37
voila j' ai deux tables de structure identique ,
quelle la manière la plus simple de transferer tous les gens d' un enregistrement de la table 1 sur la table 2 ?
merci