|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Bonjour,
Je dois vérifier le contenu de +/- 40 champs par ligne dans une grosse table. Au début, j'ai créé une macro ou je passais en paramètre le champ et la valeur à controller. Code :
Ensuite j'ai essayé de faire le contrôle de manière séquentielle. A chaque ligne lue, je vérife les 40 champs. Code :
Quelqu'un aurait-il une meilleure façon de procéder? ! --> Il s'agit simplement de condition IF, pas de IF/ELSE/IF... Je pense que je ne peut donc pas utiliser un SELECT CASE. J'ai aussi souvent lu qu'un WHERE était plus rapide qu'un IF. Mais ici, je ne vois pas comment l'appliquer. Merci pour vos conseils. |
||||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Citation:
Citation:
Citation:
Citation:
|
||||
|
|
00
|
|
|
#3 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
hello,
le WHERE s'applique sur les données lues et le if sur les données lues et créées lors de l'étape data. |
|
|
00
|
|
|
#4 | ||||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
pour ton problème initial,
je crois que tu n'as pas besoin de lire la table 40 fois , une seule fois sufira. 1- tu récupère le nom de tes variables dans les vue dictionary, proc contents ou vtables. Code :
tu peux usiliser sa dans un macro programme si tes conditions varient d'une colonnes à une autre. pour isoler les colonnes tu peux t'inspérer de cet exemple. Code :
|
||||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Si la valeur à tester à chaque IF est la même (ou si elle peut être facilement calculée en fonction de la variable), tu peux simplifier le code en virant la partie macro pour la remplacer par un Array.
Pas d'autre optimisation en vue (l'Array n'ira pas plus vite que 40 IF copiés/collés et adaptés mais donnera juste un programme plus facile à lire et modifier) qu'une unique étape DATA comme tu fais déjà. Bon courage. Olivier |
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Inscription : avril 2009 Messages : 537 ![]() |
pourquoi ne pas créer un format?
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com