|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2003 Messages : 25 ![]() |
Bonjour,
Tout d'abord, je vous précise que mon niveau en VBA est assez faible. Je souhaiterais pouvoir dupliquer les enregistrements d'une table en fonction des champs présents dans celle-ci. Exemple d'une ligne de la "TableA" : Champ 1 = Nom (Texte) : Dupont Champ 2 = Année (Texte) : Vide pour tout le monde Champ 3 = Montant (Monétaire) : 50,00 € Champ 4 = RefContact (Numérique) : 4036 -> Liaison avec 1 autre table Champ 5 = Année 2011 (Case à cocher) : True or False Champ 6 = Année 2010 (Case à cocher) : True or False Champ 7 = Année 2009 (Case à cocher) : True or False Champ 8 = Année 2008 (Case à cocher) : True or False Champ 9 = Année 2007 (Case à cocher) : True or False Champ 10 = Année 2006 (Case à cocher) : True or False Champ 11 = Année 2005 (Case à cocher) : True or False Champ 12 = Année 2004 (Case à cocher) : True or False Champ 13 = Année 2003 (Case à cocher) : True or False Champ 14 = Année 2002 (Case à cocher) : True or False Champ 15 = Année 2001 (Case à cocher) : True or False Pour cette ligne, je souhaiterais pouvoir dupliquer autant de ligne que de cases à cocher dont la valeur est à "True" et insérer dans le champ 2 l'année correspondante. De cette façon pour "Dupont", il y aurait les 3 lignes suivantes (cases à cocher 2011,2008 et 2006 = True) dans la table d'origine : Ligne 1 Champ 1 = Nom (Texte) : Dupont Champ 2 = Année (Texte) : 2011 Champ 3 = Montant (Monétaire) : 50,00 € Champ 4 = RefContact (Numérique) : 4036 -> Liaison avec 1 autre table Ligne 2 Champ 1 = Nom (Texte) : Dupont Champ 2 = Année (Texte) : 2008 Champ 3 = Montant (Monétaire) : 50,00 € Champ 4 = RefContact (Numérique) : 4036 -> Liaison avec 1 autre table Ligne 3 Champ 1 = Nom (Texte) : Dupont Champ 2 = Année (Texte) : 2006 Champ 3 = Montant (Monétaire) : 50,00 € Champ 4 = RefContact (Numérique) : 4036 -> Liaison avec 1 autre table Comment puis je faire cela ? J'ai 1700 enregistrements dans ma table et je me vois mal faire cela à la main. Merci pour vos conseils et votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
tu n'as besoin d'aucune programation pouur réaliser ton 'rève' Il suffit de faire des requêtes ajout: la première avec: Nom, "2011", Montant, RefContact de la tableA avec Année 2011 (Case à cocher) = vrai la deuxième avec: Nom, "2010", Montant, RefContact de la tableA avec Année 2010 (Case à cocher) = vrai ainsi de suite, ça fat juste 10 requêtes ajout à exéctuer une seule fois chacune
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() |
Salut,
Sinon voici une fonction (ça m'a permis de m'entraîner un ti peu Tu places ce code dans un module : Code :
MaTable1 correspond au nom de ta table d'origine MaTable2 correspond au nom de ta table de destination Fais attention au nom et au type des champs(mon champ Année est Numérique et je l'ai écrit sans accent par exemple). En un click tu transfert toutes tes données |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : octobre 2003 Messages : 25 ![]() |
Merci beaucoup pour ces informations, j'ai choisi la première solution mais la seconde je la garde sous le coude, plus sympa je trouve.
Ca fonctionne ! Merci à tous les 2 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com