[VBS] dupliquer x fois un enregistrement

Résolu
FredD73 Messages postés 4 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 22 janvier 2010 - 20 janv. 2010 à 22:20
FredD73 Messages postés 4 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 22 janvier 2010 - 22 janv. 2010 à 08:09
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 janv. 2010 à 00:00
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
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 janv. 2010 à 08:57
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
0
FredD73 Messages postés 4 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 22 janvier 2010
21 janv. 2010 à 22:16
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
0
FredD73 Messages postés 4 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 22 janvier 2010
22 janv. 2010 à 07:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FredD73 Messages postés 4 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 22 janvier 2010
22 janv. 2010 à 08:09
Renfiled
merci pour ton aide precieuse
cela fonctionne parfaitement

comment on passe le massage en resolu?
0
Rejoignez-nous