La société pour laquelle je travaille utilise MacolaES pour un système ERP. La base de données SQL Server est structurée de sorte que lorsque les éléments ne sont plus considérés comme actifs, ils sont déplacés d'un ensemble de tables "actives" vers un ensemble de tables "historiques". Cela permet de garder les tables "actives" suffisamment petites pour que les requêtes reviennent rapidement. D'un autre côté, les tables d'histoire sont énormes. Les colonnes appropriées sont indexées dans ces tables, et si vous recherchez quelque chose de spécifique, elles retournent rapidement.Requêtes paramétrées par Crystal Reports
Le problème est lorsque vous créez un rapport Crystal, qui invite l'utilisateur à entrer un paramètre. Pour des raisons que je ne connais pas, les paramètres Crystal ne sont pas traduits en paramètres SQL, donc vous finissez avec des requêtes en sélectionnant tout depuis la table d'historique des en-têtes de commande jointe à tout dans la table d'historique des lignes de commande.
Existe-t-il un moyen d'obtenir que Crystal Reports utilise les paramètres dans la requête SQL au lieu de charger tous les enregistrements et de filtrer après le fait? J'ai lu quelque part qu'une procédure stockée devrait fonctionner, mais je suis curieux de savoir si une requête paramétrée ordinaire est possible dans le but de gagner du temps.
Voici la formule de sélection:
(
trim({Orderheader.ord_no}) = {?Order No}
)
and
(
{Orderheader.ord_type} = 'O'
)
and
(
{orderlines.ord_type} = 'O'
)
Cela dépend du type de formule de sélection d'enregistrement et s'il peut être converti en sql where clause. Utilisez-vous des opérateurs spéciaux qui ne traduisent pas en sql comme 'if' ou une fonction crystal? – dotjoe
Non, il suffit d'utiliser boolean AND. – Scott
Avez-vous essayé d'enlever la garniture de votre formule? –