|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
Bonsoir à tous,
Un petit point à vous soumettre. Situation actuelle : j'ai des fichiers Excel, j'ai une base Access, je les importe, jusque là pas de souci particulier. Mes fichiers Excel font à peu près 200K lignes. Mes tables marchent bien, etc. L'inconvénient est que mes fichiers Excel contiennent des données que je dois modifier via des requêtes Update une fois dans Access. Ces requêtes sont toutes bêtes mais elles prennent quand même du temps. Etant donné que les fichiers que j'intégreraient ensuite seront beaucoup plus volumineux, ces requêtes vont être trop longues, voire vont planter. Ma question est simple : est ce que je peux modifier directement à l'importation des champs de mon fichier Excel ? (mes requêtes Update sont donc évitées par la suite) PS : je ne veux pas toucher aux fichiers Excel au départ. PS2 : si la réponse à ma question n'est pas faisable, quelles sont les solutions qui s'offrent à moi ? De tout coeur je vous remercie Guillaume. |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Citation:
Tu peux 1° copier le fichier 2° torturer la copie 3° ensuite l'importer 4° et supprimer la copie. Citation:
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources ! |
||
|
|
00
|
|
|
#3 | |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
Premièrement, merci pour ta réponse..
Citation:
Et cela prend du temps comme j'ai pas mal de ligne. De plus, il arrive que la requête plante ou m'affiche un message comme quoi le moteur de BDD n'a pas assez d'espace blablabla. |
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
si c'est la même table, une seule requête devrait suffire.
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources ! |
|
|
00
|
|
|
#5 | |||
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
Citation:
Faire ceci ne fonctionne pas : Code sql :
|
|||
|
|
00
|
|
|
#6 | |||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Bjr,
Citation:
D'ailleurs ça ne doit sûrement même pas s'exécuter. On peut éventuellement essayer switch : Code sql :
UPDATE Retraitement SET Retraitement.Marque = Switch([marque]="M","MDD",[marque]="A","MN",[marque]="P","PP",True,[marque]); Pour la rapidité, faut essayer pour voir...
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|||
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Dans un module, cette fonction :
Code :
Code sql :
UPDATE Retraitement SET Retraitement.Marque = retraite([marque]);
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources ! |
||
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bjr Arkham46,
Tu as tiré pendant que j'ajustais !
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources ! |
|
|
00
|
|
|
#9 | |||
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
|
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Je crois que en fait tu as reprogrammé le Switch (=PremVrai)
Citation:
Je voulais juste dire qu'il n'y a pas de filtre avec une clause Where. On passe sur l'ensemble des lignes quelle que soit la valeur de Marque. S'il n'y a ni A, ni P, ni M, on remet la même valeur. Une modif pour rien mais ça ne perd pas d'info. Pour la rapidité je ne suis pas sûr que ce soit au top pour des milliers de lignes, mais que faire d'autres?
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Une autre possibilité.
Tu fais une petite table de correspondance : M MDD A MN P PP et dans une requête tu joins (Left join) ta table Retraitement avec cette table de correspondance pour obtenir le code voulu plus besoin de mettre à jour les tables après import, mais les traitements futurs seront plus long à cause de la jointure tout dépend de ce que tu fais ensuite avec les données
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 160 ![]() |
Le SWITCH est pas mal...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com