[VBS] dupliquer x fois un enregistrement

[Résolu]
Signaler
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
22 janvier 2010
-
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
22 janvier 2010
-
Bonjour
J ai des enregistrements dans une table un des champs contient un nombre je voudrais copier cet enregistrement x fois dans une nouvelle table (x etant le nombre)
J ai une methode mais elle me copie x fois tous les recird de la table
stretiq1 = "SELECT elab.art, elab.ssccart, elab.qte, elab.colis, elab.lot, elab.dluo, elab.nbcolis, elab.doc, elab.itf14, elab.nom, elab.eanart, elab.ssccpal FROM elab;"
Set etiq1 = CurrentDb.OpenRecordset(stretiq1)
etiq1.MoveFirst
Do Until etiq1.EOF
compteur = [etiq1].[nbcolis]
'MsgBox compteur
'MsgBox etiq1.ssccart
'ssccp = CDbl([etiq1].[ssccart])
'etiq1.Edit
'etiq1.ssccpal = CDbl([etiq1].[ssccart])
'etiq1.Update


'MsgBox compteur
For e% = 1 To compteur
'MsgBox e%
sql4 = "INSERT INTO Etiqphase2 ( codearticle, sscart, qte, nbcolis, lot, dluo, nbpal, datedoc, itf14, nom, eanart ) SELECT elab.art, elab.ssccart, elab.qte, elab.colis, elab.lot, elab.dluo, elab.nbcolis, elab.doc, elab.itf14, elab.nom, elab.eanart FROM elab;"
DoCmd.RunSQL sql4
Next
etiq1.MoveNext

Loop

Merci de votre aide
Fred

5 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
simple:

Dim i As Long
With CurrentDb.OpenRecordset("SELECT autonum, nbcolis FROM elab") 
    Do Until .EOF 
        For i = 1 To .Fields("nbcolis").Value 
            DoCmd.RunSQL "INSERT INTO Etiqphase2 " & _
                         "(codearticle, sscart, qte, nbcolis, lot, dluo, nbpal, datedoc, itf14, nom, eanart) " & _
                         "SELECT art, ssccart, qte, colis, lot, dluo, nbcolis, doc, itf14, nom, eanart FROM elab WHERE autonum=" & .Fields("autonum").Value 
        Next 
        .MoveNext 
    Loop
End With



Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
dans ta requete INSERT, tu ne repart pas de 'etiq1' mais effectivement de tous tes enregistrements.

quel est le champ clé primaire de la table elab ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
22 janvier 2010

bonsoir

Merci pour la reponse la cle primaire est un autonum
je pourrai refaire ma requete en partant de etiq1?
Je n ai pas teste je vais reessayer

Si d autres idees je suis preneur

Merci
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
22 janvier 2010

Renfield
Merci pour ta reponse je vais la tester de ce pas
C est super sympa de rajouter le mot simple en debut de message
Je vais retourner a mes cheres etudes de compta

Merci mille fois
Messages postés
4
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
22 janvier 2010

Renfiled
merci pour ton aide precieuse
cela fonctionne parfaitement

comment on passe le massage en resolu?