VBA/Access transferer les champs d' 1 enreg. sur une autre table ?

VBA/Access transferer les champs d' 1 enreg. sur une autre table ? - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 17-03-2003 à 22:16:37   

Reply

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 :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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 ?

Reply

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.

Reply

Marsh Posté le 18-03-2003 à 11:00:34    

INSERT INTO matable1
SELECT *
FROM matable2 where ...;

Reply

Marsh Posté le 18-03-2003 à 11:02:08    

Dans du code, par exemple ...
docmd.runsql "INSERT INTO matable1 SELECT * FROM matable2"

Reply

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 :D

Reply

Marsh Posté le 18-03-2003 à 13:31:08    

Gulien a écrit :


va raiment falloir que je révise mon SQL , c' est la honte :D


+1 :whistle:


Message édité par drasche le 18-03-2003 à 13:31:20
Reply

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
________________________________________________


Message édité par Gulien le 18-03-2003 à 14:54:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed